Random Planet Generator

Most planet generators hand you a name and one line of flavour text. This one draws a star first, then sizes a world against it and derives the rest from actual formulas, so gravity follows from mass and radius, and temperature follows from the star and the orbit. Every result carries a seed, so a world you liked comes back exactly as you left it.

The star sets luminosity, which sets the orbital distance needed for the temperature the world type calls for.

Type any word or code to rebuild the same worlds later. Blank draws a fresh seed.

Survey output

A planet name on its own gives a writer nothing to work with. What a scene needs is weight underfoot, how long the day runs, whether the air is breathable, and how far the sun sits from the window. Those numbers have to agree with each other or a reader who knows any astronomy will spot the seam.

The numbers are derived, not rolled

Only four quantities here come from a random draw: the star mass, the planet radius, the bulk density, and the target surface temperature for the chosen world type. Everything else falls out of those through standard relations, in this order.

L = Mstar3.5 (solar units, above 0.43 solar masses)
Mass = density × radius3 (Earth units)
Surface gravity = mass / radius2
Escape velocity = 11.186 × √(mass / radius) km/s
Orbital distance = √L × (278.6 × (1 − albedo)0.25 / Teq)2 AU
Orbital period = √(a3 / Mstar) years

The chain runs backwards from climate. A world type carries a surface temperature band, a greenhouse offset for its atmosphere, and an albedo range. Subtract the greenhouse contribution from the surface temperature to get the equilibrium temperature, then solve the blackbody relation for the orbital distance that produces exactly that figure around the star you drew. Kepler's third law turns the distance into a year length.

The practical result is that the sheet holds together under scrutiny. A dense super-Earth reads 2.4 g and an escape velocity near 20 km/s, which tells you chemical rockets are a bad plan for that colony. A world orbiting a red dwarf at 0.09 AU comes back tidally locked with a year of 21 days, because at that distance around that star it has to be. Nothing is decorative.

Seeds turn a lucky roll into a fixed asset

Random generators lose worlds. You hit generate one time too many, the good one is gone, and no amount of clicking brings it back. Every result here is produced by a deterministic pseudo-random stream keyed to a short seed string, so the seed is the world.

Twelve world types and what each one is good for

TypeTypical outputFits
Terrestrial0.7 to 1.4 Earth radii, 0.6 to 1.5 g, breathable rangeColony sites, homeworlds, anywhere characters walk outside
Super-EarthUp to 2.2 radii and 3 g, thick air, low mountainsStories about strain, heavy worlders, hard launches
Ocean worldNear total water cover, mild temperatures, storm systemsFloating settlements, submarine plots, isolation
Desert worldThin air, wide temperature swings, dry basinsFrontier settings and water as a plot currency
Ice worldHigh albedo, subsurface ocean, cryovolcanismResearch outposts, buried discoveries, long night
Volcanic world500 K and up, sulphur atmosphere, resurfacing crustMining hells, penal sites, short survivable windows
Barren rockNear vacuum, cratered, extreme day and night swingsWaypoints, relay stations, salvage sites
Tidally lockedRed dwarf orbit, terminator ring, frozen nightsideCities in a strip, permanent noon, permanent midnight
Carbon worldGraphite plains, diamond bedrock, hydrocarbon hazeOdd geology and industrial interest
Gas giant7 to 13 radii, banded clouds, many moons, ringsSystems where the real story is on the moons
Ice giantMethane haze, retrograde winds, tilted magnetic fieldOuter system framing and slow travel arcs
Hot Jupiter900 K and up, escaping atmosphere, silicate cloudsSet dressing for a system with a wrecked inner zone

How to read the habitability score

The score runs 0 to 100 and answers one question: what would a person need to survive on the surface. It starts at 100 and takes deductions for distance from 288 K mean temperature, distance from 1 g, pressure outside the 0.35 to 4 bar band, surface water below 3 percent, oxygen below 5 percent of the atmosphere, and a combined carbon dioxide, carbon monoxide, and sulphur dioxide fraction above 5 percent. Gas giants score zero because there is no surface to stand on.

The biosphere line follows the score rather than sitting alongside it, so a world at 82 gets complex ecosystems and a world at 40 gets extremophiles near vents. Life never appears on a planet whose chemistry could not support it.

Names that match the tone of your setting

Three naming modes cover most fiction. Invented syllables assembles two or three syllables from onset, vowel, and coda banks, giving results like Kaethryn or Zhiovask that read as alien without turning into keyboard mash. Mythic roots pulls from classical and Norse naming, matching the convention real astronomers follow, so Tiamat Prime sits comfortably next to Sedna. Catalog codes produces survey designations for settings where planets are numbered rather than named, and Mixed weights the three at five to three to two.

Catalog prefixes here are invented rather than real ones like Kepler or TOI. Attaching fictional physics to a genuine catalog number is a fast way to confuse a reader who looks it up, so the codes stay clearly fictional.

Where this falls short

The star draw is weighted toward K and G stars for story usefulness, which does not match the real census where red dwarfs are roughly three quarters of all stars. The blackbody temperature model treats greenhouse warming as a flat offset per world type rather than solving radiative transfer, so a figure is plausible to a general reader and would not satisfy a planetary scientist. Orbital stability is never checked, so a generated moon count for a hot Jupiter is decoration rather than a claim those orbits survive. And the whole thing runs in your browser with no atlas behind it, so there is no map, no continent shapes, and no way to place cities.

Getting the world out of the page

Each card copies two ways. Copy sheet gives a plain text block with every stat labelled, sized for a campaign document or a scene note. Copy JSON gives a structured object grouped into star, orbit, body, climate, atmosphere, habitability, and narrative, with numbers as numbers rather than formatted strings.

The JSON path is the one to take if you are feeding a game. Field names are stable, tidally locked worlds report rotation_hours: null alongside tidally_locked: true, and gas giants report surface_pressure_bar: null rather than a fake number, so your parser can branch on the null instead of guessing. Download writes the whole batch to one file named after the seed.

For the rest of a setting, the random setting generator and the random environment generator cover ground-level locations, and the random monster generator populates them.

Nothing leaves your browser

Generation runs entirely in JavaScript on your device. No request goes to a server when you press generate, nothing is logged, and no planet is stored anywhere after you close the tab. The only thing worth keeping is the seed, which is why it prints on every card.

Output is free for commercial use. Names are assembled from syllable banks and the descriptions come from written phrase pools, so there is no source work behind them and no attribution to give. Use them in published fiction, games you sell, and campaign material.

Questions writers and game masters ask

Seeds, physics accuracy, and using generated worlds in published work.

Are the physics numbers accurate enough to publish?

For fiction and games, yes. Gravity, escape velocity, orbital distance, and year length come from the standard relations rather than from a lookup table, so a reader who checks the mass against the gravity finds them consistent. The temperature model is the weak point, since greenhouse warming is applied as a flat offset per world type instead of a real atmospheric calculation. A planetary scientist would call that a rough approximation.

How do I get the same planet back tomorrow?

Copy the seed printed on the card, or use the seed link button, which puts the seed in the URL. Paste the seed into the seed field and press generate with the same world type, star, and name style selected. The output is identical, since the generator is deterministic and nothing is stored between visits.

Why do red dwarf worlds keep coming back tidally locked?

Red dwarfs are dim, so a planet needs a very close orbit to reach a temperature people survive. At those distances tidal forces lock the rotation to the orbit within a few million years. The generator applies the lock whenever the orbit falls inside 0.4 times the cube root of the stellar mass in AU, which puts the whole red dwarf habitable zone inside the locking radius and leaves an Earth analogue at 1 AU spinning freely.

Can I use these planets in a commercial novel or game?

Yes, with no attribution required. Names are built from syllable banks, and the terrain lines, hooks, and resource lists come from phrase pools written for this tool. Nothing is copied from an existing setting, so there is no licence attached to the output.

What does the habitability score actually measure?

What a human needs to stay alive on the surface, nothing more. It weighs mean temperature against 288 K, gravity against 1 g, surface pressure against a 0.35 to 4 bar band, plus surface water and atmospheric oxygen. It says nothing about whether native life could survive there, which is why an ice world with a subsurface ocean scores low while still listing a biosphere.

Can I generate a whole star system rather than single planets?

Not as a linked system. Set the count up to eight and every world is drawn independently, so they will not share a star or sit in stable orbits relative to each other. Locking the star dropdown to one type gives you a set that at least reads as one system, though the orbital spacing is still unchecked.

Why are gas giant cards missing surface pressure and water?

Neither figure means anything without a surface. Gas giants and ice giants show a ring system field and a cloud-top gravity instead, and the JSON reports null for those fields rather than inventing a value your code might treat as real.