I am a Traveller (game) referee. I've generated lots of worlds before, using a basic system that describes a world in eight fundamental pieces of data. For the record, those data are:

Starport class, from "none" to first-rate, primarily and specifically to note the world's willingness to trade.

World Size, from asteroid up to super-Jovian.

World Atmosphere, which includes pressure, human breathable-ity, and the presence of corrosives, plus some edge cases.

World Hydrographics, a percentage. Doesn't necessarily mean water (that depends on the atmospheric code).

World Population, as an exponent of ten.

World Government, from "no government" up to severe police state.

World Law Level, basically how annoying the authorities are to you.

Tech Level, from neolithic to fantastic-future tech.

But many times, similar world types keep showing up. Water worlds, or vacuum worlds, or worlds with an industrial taint. This is a feature, not a bug, and yet I wonder if just a little bit of simplification can remove a lot of data.

Consider Star Trek's "Class M Planet". One letter is doing a lot of work: it describes general size and life, as well as a breathable atmosphere. A very compact notation indeed!

So. Is there a list of 26 (or so) single-letter basic "planet types" that's useful for describing worlds? I'm looking for something that holds data useful to casual readers or gamers, so I guess I'm thinking about it in the "Star Trek" fashion, but maybe there's an angle I haven't thought of.

To be more explicit, when we get together to play Traveller, we're interested in things like whether this world is a miserable asteroid, or something larger, up to super-earth sized perhaps (i.e. can I walk on this world?); is there air, if the air is breathable (or, perhaps, how long it takes before suffering ill effects), whether there's accessible water, how much of the world is wilderness (or, perhaps, how many people live there), if there's a world government, if the locals are primitive or tech-savvy, and so on.


FYI, Wikipedia lists Star Trek's codes, which generally seem to fall into these buckets:

 A,B,C: Small, uninhabitable worlds.
 D: Large planetoids.
 E,F,G: Earth-sized but less habitable.  Perhaps younger.
 H: Desert worlds.
 T,S,I,J: Gas giants, largest to smallest I guess.
 K: Earth-sized but uninhabitable.
 L: Earth-sized with a marginally breathable atmosphere.
 M: Terran norm.
 N,X,Y,Z: Hell-worlds.  Insidious or corrosive atmospheres, high temps.
 O: Water world.
 P: Tundric water world.
 Q: Elliptical atmosphere or other strangeness.
 R: Rogue world (a wanderer; it does not orbit a star).

I like certain elements of the list: habitability is there, as well as sensory tropes such as water worlds and desert worlds; there's room for oddballs such as the Rogue world; and planet size is treated well enough.

The Planetary Classification List

This website (https://orionsarm.com/eg-article/491c78b89879b) lists planet types by name... and has a bunch; it could be whittled back.

Rob's Musings

Let's say orbital location is separate, thereby subsuming molten and ice and rogue worlds. Add in a couple types to describe technic societies and we may have something... but it's hard to combine environment + technology into less than 5 bits! Lossy!

A Metal-poor (no atmosphere) (Luna)
B Metal (Iron)-rich (Mercury) (no life)
C Greenhouse world (Venus) (no life)
D Carbon world (CO or methane, tar lakes; primitive life at best)

E-K Unassigned

L Sulfuric world
M Meso Sulfuric world
N Technic Sulfuric world

O Ammonia world
P Meso ammonia world
Q Technic ammonia world

R Chlorine world
S Meso Chlorine world
T Technic Chlorine world

U Smallworld (Mars) (NOTE: includes "early" Mars!)
V Meso smallworld
W Technic smallworld

X Gaian (primitive life) (NOTE: includes waterworlds and desert worlds!)
Y Meso Gaian 
Z Technic Gaian

NOTE: Meso: sophonts without space travel
NOTE: Technic: sophonts with space travel

ALTERNATELY, the code could focus on things other than sophont status.

@Mathaddict noted: "The classification should really be differentiated into what equipment they will need in order to land/survive/etc." That's a good angle, with things such as breathing-protection, skin-protection, eye-protection, and mobility.

  • 4
    $\begingroup$ It will be interesting to see what answers may come up here. We never really needed such a scheme until we started looking at exoplanets, and our knowledge of exoplanets has been constantly growing and shifting. It would be interesting to see how any such system might adapt over time to new information. $\endgroup$
    – Cort Ammon
    Jan 21, 2019 at 19:00
  • 2
    $\begingroup$ Can you elaborate on "useful" maybe providing a list of what aspects of a planet you want included in the system you are looking for? Also are you looking for an existing system or for someone to create one? $\endgroup$
    – James
    Jan 21, 2019 at 19:09
  • 2
    $\begingroup$ Welcome to SE WB! - This is a question and answer site. How will you judge the best answer? What if one person's A-type planet is another person's B-type planet. Who is 'correct'. Do you really want each person to give a complete alphabet? Inevitably different people will have different ideas about what the important characteristics are. $\endgroup$ Jan 21, 2019 at 19:11
  • 4
    $\begingroup$ Well, it's an established rule that in order for a planet to be Class M, it has to grow "Rodden berries". $\endgroup$
    – jdunlop
    Jan 21, 2019 at 19:14
  • 3
    $\begingroup$ I think that classifying a world requires at least two basic pieces of data: how hospitable is it to my species, and how technologically advanced are its inhabitants. If Plato's ideas about education are right, then technological advancement can be readily linked to social advancement. Those two pieces of data can be captured if you split the alphabet in a few chunks. So maybe you have 4 classes of environmental hospitability and 6 classes of technological advancement. $\endgroup$ Jan 21, 2019 at 19:21

10 Answers 10


Of course we can make this code up. The question is, how useful it would be.

As @Renan pointed out, possible permutations of planet types number in thousands - and that's not even counting potential life and civilization on the planet. Coming up with single code for every type is impossible.

But if we want just a classification, then yes, we can come up with 26 types that would group together similar planets. The only challenge is to make these groups practical. I would suggest to use frequency of mention to guide this classification. This way, if two very similar world types (like "clean" and "tainted" Earth-like planets with civilization) are mentioned very frequently, they deserve their own letters. On the other hand, planetoids without atmosphere could be much more numerous and diverse, but because they mentioned less frequently, they may be all compressed into one letter designation.

This one-letter code would not eliminate the need for proper, multi-symbol classification that should reflect all major aspects of planetary conditions.

  • 15
    $\begingroup$ Related: Huffman Coding is a compression technique which uses the same sort of thinking as you describe. It automatically finds the most commonly used patterns and allocates short symbols to them. $\endgroup$
    – Cort Ammon
    Jan 21, 2019 at 20:22
  • 9
    $\begingroup$ As far as the practicality for gamers. The classification should really be differentiated into what equipment they will need in order to land/survive/etc. $\endgroup$
    – Mathaddict
    Jan 21, 2019 at 20:52
  • $\begingroup$ That kind of classification can be implied by the coding, or even a significant play aspect (you're telling me Pokémon would be enjoyable if they just listed what attacks and types are strong or weak against each other? part of the game is learning what does what and when). @Mathaddict $\endgroup$
    – Nij
    Jan 21, 2019 at 21:35
  • $\begingroup$ @CortAmmon I think you can even say it is more than the same sort of thinking; you could actually use the output of a huffman coding. In particular, you would assign each world a symbol and a weight, calculate the huffman coding (using some alphabet other the 0 and 1), and then assign each world the first letter in its huffman code. Each letter would have approximately the same probability of coming up. The only other thing you would want to do is guide the algorithm to put similar worlds in the same letter. $\endgroup$ Jan 22, 2019 at 1:33
  • 2
    $\begingroup$ "Coming up with single code for every type is impossible." Clearly you have not heard of the International Statistical Classification of Diseases and Related Health Problems :-P $\endgroup$
    – TylerH
    Jan 22, 2019 at 19:42

As far as I know, that kind of list is only found in Star Trek EU works, specifically the Star Charts, which shows a planetary classification from Class A to Class Y with some useful information.

Star Trek: Star Charts - Planetary Classification

  • 6
    $\begingroup$ Please post link to where you found that image! $\endgroup$
    – Willk
    Jan 21, 2019 at 19:19
  • 2
    $\begingroup$ @Willk This image comes from scifi.stackexchange.com/questions/147139/why-the-class-m-label Although, it's a composite from pages of the Star Trek: Star Charts pdf. I believe that the pdf can now be easily found online with a little bit of research. $\endgroup$
    – Sava
    Jan 21, 2019 at 19:26
  • $\begingroup$ By that chart, lots of what's referred to in ST:VOY as Class L would seem like it should be Class P... $\endgroup$
    – user
    Jan 21, 2019 at 19:58
  • $\begingroup$ Why is Vulcan classified as an M class planet? Shouldn't it be a relatively cool Class H planet? $\endgroup$
    – sonvar
    Jan 21, 2019 at 22:40
  • $\begingroup$ @sonvar Well, if you consider Enterprise canon, then the Vulcans came up with Class M, hence Vulcan is class M(inshara). $\endgroup$ Jan 22, 2019 at 15:17

It might be too coarse for you needs (as in "not detailed enough"), but you could use the Universal Planetary Profile from the RPG Traveller. (In the modern version of the game, it's called the Universal World Profile and is far more comprehensive than in the original game that I'm most familiar with.)

The format describes:

Starport (Sp)
Planetary Size (S)
Atmosphere (A)
Hydrosphere {H)
Population (P)
Government (G)
Law Level (L)
Tech Level (TL)
  • 1
    $\begingroup$ Yeah, being a Traveller referee myself, that's what I've been using. I was musing about a single-letter code. +1 for using Traveller though :) $\endgroup$
    – rje
    Jan 21, 2019 at 20:56
  • 1
    $\begingroup$ Keep in mind that it wouldn't take much to exceed a 26+10 [A-Z0-1] format if you try to combine everything: size, orbit, climate, atmosphere, etc. If you insist on a single-character as a universal descriptor, you're stuck with categorization that meets your unique needs. $\endgroup$
    – JBH
    Jan 21, 2019 at 21:00
  • $\begingroup$ The UWP is typically my benchmark; however, a lot of corner cases can be rationalized away, and some can be deferred e.g. from orbital position. $\endgroup$
    – rje
    Jan 21, 2019 at 21:19
  • $\begingroup$ @jre You can't really eliminate any of them based on things like orbital position. You can rule out some options: e.g. nothing in Pluto's orbit is going to have liquid water, but something in Venus or Mars's orbits could; they just don't because their atmospheres aren't right for it. A lot of the categories are interdependent, but none are entirely determined by the others. $\endgroup$
    – Ray
    Jan 21, 2019 at 21:39
  • $\begingroup$ S,A,H are intrinsic; P,G,L,TL all assume it's inhabited, probably Sp too. $\endgroup$
    – smci
    Jan 21, 2019 at 22:48

I'd personally as a reader want to be able to differentiate between planets easier than that, and an easier way to do that might be to use a taxonomic system for classification.

Instead of having so much variation like animals, you can have a class A-B-C planet meaning different items, with further breakdowns in classification beneath that. Just like using the word "plant" versus "flower", we can use these indicators to provide ever increasing levels of specificity. It doesn't need to be anything completely complicated, but provide the full 5 bits, putting emphasis on certain pieces over others based on how important someone would use them in conversation.

First letter determines size and type.

  • A: Gas planet, strong gravitational pull, tidally locked
  • B: Gas planet, normal gravitational pull, tidally locked
  • C: Gas planet, weak gravitational pull, tidally locked
  • D: Gas planet, strong gravitational pull, tidally unlocked
  • E: Gas planet, normal gravitational pull, tidally unlocked
  • F: Gas planet, weak gravitational pull, tidally unlocked
  • G: Rocky planet, strong gravitational pull, tidally locked
  • H: Rocky planet, normal gravitational pull, tidally locked
  • I: Rocky planet, weak gravitational pull, tidally locked
  • J: Rocky planet, strong gravitational pull, tidally unlocked
  • K: Rocky planet, normal gravitational pull, tidally unlocked
  • L: Rocky planet, weak gravitational pull, tidally unlocked
  • etc.

Then further elaborate into atmosphere type and hostility of location.

  • A: Weak atmosphere, close to star, hot
  • B: Weak atmosphere, close to star, temperate
  • C: Weak atmosphere, close to star, cold
  • D: Normal atmosphere, close to star, hot
  • E: Normal atmosphere, close to star, temperate
  • F: Normal atmosphere, close to star, cold
  • G: Strong atmosphere, close to star, hot
  • H: Strong atmosphere, close to star, temperate
  • I: Strong atmosphere, close to star, cold
  • J: Weak atmosphere, Goldilock's Zone, hot
  • etc.

After that, you can get into habitability, resource availability, breathing possibility, and population with just numbers.

  • 01: Not habitable, scant resources, breathing apparatus necessary, not populated
  • 02: Habitable, scant resources, breathing apparatus necessary, not populated
  • 03: Not habitable, normal resources, breathing apparatus necessary, not populated
  • 04: Habitable, normal resources, breathing apparatus necessary, not populated
  • 05: Not habitable, heavy resources, breathing apparatus necessary, not populated
  • 06: Habitable, heavy resources, breathing apparatus necessary, not populated
  • 07: Not habitable, scant resources, breathing apparatus not necessary, not populated
  • 08: Habitable, scant resources, breathing apparatus not necessary, not populated
  • etc.

Forming from this, you could classify any type of planet, and instantly know what sort of place you're visiting. For instance, Earth might be classified as a K class planet, but with further information on it bearing more fruit.

Earth: K-P17 planet
Population: 7.2b
Crust Compostion1:
- oxygen, 46.6%
- silicon, 27.7%
- aluminum, 8.1%
- iron, 5.0%
- calcium, 3.6%
- sodium, 2.8%
- potassium, 2.6%
- magnesium, 2.1%
Intelligent Species Types: Humans, Dolphins, Mice
Prevalent Languages:
- Mandarin Chinese (1.1 billion speakers)
- English (983 million speakers)
- Hindustani (544 million speakers)

With this, you have a complete knowledge of a planet, and can further fill in more information on a longer format, but can refer to Earth as a K class planet, then further specify with more taxonomic indicators.

1 - "Essentials of Geology" (7th Ed., Prentice Hall, 2000) by Frederick K. Lutgens and Edward J. Tarbuck

  • 3
    $\begingroup$ Lots of work there, though you seem to have defeated the purpose of a single letter code scheme! $\endgroup$
    – elemtilas
    Jan 21, 2019 at 23:31
  • 3
    $\begingroup$ @elemtilas That's because realistically, you don't NEED a single letter to convey all the information immediately, you only need a letter to convey some of it up front. From there, it's still short, but provide a framework for each piece to be a part of your code, and it'll even sound more sci-fi. K-P17 sounds like a crazy specific planet type doesn't it but that small thing tells you it's a non-tidally locked rocky planet with a large population, breathable atmosphere, and moderate resources in the Goldilocks zone. $\endgroup$
    – Anoplexian
    Jan 21, 2019 at 23:48
  • $\begingroup$ This method is not unlike Traveller's system, which is also taxonomic, but aimed towards the visitor's direct experience. $\endgroup$
    – rje
    Jan 22, 2019 at 15:10
  • 2
    $\begingroup$ @rje A bit, yeah. Using a system like this though, you can specify what letters mean what based on the physicals, rather than quickly changing items (like technological capability). $\endgroup$
    – Anoplexian
    Jan 22, 2019 at 15:49

Weighted k-medoids clustering

k-medoids clustering is a method of dividing a set of points into clusters of similar points. You can use this to divide your worlds into clusters, and then give each cluster a label.

One algorithm to do this is the PAM algorithm:

  1. Give each world a weight (representing how likely it is to come up in conversation). Also define a "dissimilarity" function that measures how dissimilar two worlds are. This should make the set of worlds a metric space.
  2. Give each label a "metroid" world. This can either be done arbitrarily, or meaningfully (the meaning of the labels will be loosely based on these initial metroid worlds). The metroid world does not need to have a high weight; it could even have weight $0$.
  3. Assign each world the label whose metroid is most similar to it.
  4. Calculate the weighted average cost of the labelling, which is defined as the weighted average dissimilarity between a world and the world's label's metroid.
  5. For each label $l$ and each non-metroid world $w$, change $l$'s metroid to $w$. Then do steps 3 and 4 again. If the weighted average cost went up, undo the change.
  6. Keep doing step 5 until the weighted average cost stops decreasing.
  7. The current labelling is the output of this algorithm. You may want to rename the labels if you want them to have meaningful names, as the algorithm will probably have relabelled worlds multiple times until it found a local minima.

I don't think there is a good way to simply classify planets with the granularity you want without creating a barrier between you the creator and the audience you are presenting to.

For your system to work, the user needs to know and remember it. This is hard. You can't just present it in a table (I'm assuming your users are both gamers and readers) in the appendix or index because a user needs to keep flipping back to it. This breaks the flow of your story or game (sort of like tutorial prompts) and creates a disconnect for casual or first time users who might not want to invest in learning everything and just dive straight in (this is one of the reasons why casual and mobile games are such a huge market compared to knowledge intensive RTS games).

A very basic system would be something along the lines of:

  • Planet/Asteroid/Star
  • Livable/Unlivable

Which can give you the following combinations:

  • Livable Planet
  • Livable Asteroid
  • Livable Star

Which you could then sort into a code that you want e.g. (LP, LA, LS).

But a casual user doesn't understand this, especially if you want to factor in all possible factors of a planet. The only thing you are doing with such a code is making it harder for a user to understand your game.

If you really want to... Unicode has 137,374 mappings which means you could, if you really really wanted to, present 137,374 unique combinations to the reader with a single character (some of them look exactly the same, but they are different). But at that point you might as well be using Webdings.

  • $\begingroup$ Food for thought. Thank you. $\endgroup$
    – rje
    Jan 22, 2019 at 15:11

Check the wiki for planet types.

There are eight types by size, seventeen by orbital regime, seventeen by composition and three miscellaneous types. That does for 6936 possible combinations, so if you wish for one letter descriptors you may need to use chinese characters.

Otherwise, you can use any fictional classifications such as Star Trek's, as long as you don't do it commercially I guess.

  • $\begingroup$ Thank you for directing me to Wikipedia. Those charts offer a lot of food for thought! $\endgroup$
    – rje
    Jan 21, 2019 at 19:47
  • $\begingroup$ That looks like a good reference; however, a major problem with that classification seems to be to be that, except as "Earth analog", it offers no obvious way to classify Earth! $\endgroup$
    – user
    Jan 21, 2019 at 20:02
  • 4
    $\begingroup$ @aCvn we need to edit that wiki to include a "mostly harmless" category. $\endgroup$ Jan 21, 2019 at 20:24
  • 1
    $\begingroup$ That's kind of the point of classification, isn't it? The archetype of a class should probably belong to that class... @aCVn and Earth appears to be a Goldilocks silicate Earth analogue inner planemo, if you want to match every appropriate class there. $\endgroup$
    – Nij
    Jan 21, 2019 at 21:37

Can you use something like vignettes? A vignette is basically a short description of something with a catchy name. Define a list of the most useful planet types and create a small vignette for each. For example:

Industrial World

Habitable world with a well developed, space faring infrastructure. bla bla bla


Lifeless world with little athmosphere.

The trick is to write these in a way which allows for modification - e.g. add a "heavy" before industrial world and you get a slightly different meaning.

This list has to be shared with your group, so when they hear "industrial world" they know what to expect and what to ask to further define the planet.

  • $\begingroup$ Thank you. Yes, that's also very Traveller-esque. $\endgroup$
    – rje
    Jan 22, 2019 at 15:11

These seemed like an interesting challenge, and while some simplicity is possible, you cannot fold in the complexity and intelligence of life into it without making it overly complex.

The detailed way of identifying a planet or moon needs too many values:

  • mass and surface gravity, surface composition
  • biosphere (mass, area, complexity, intelligence)
  • atmosphere (thickness, composition, surface pressure)
  • temperature (surface mean, range)
  • orbital dynamics (zone, eccentricity, length of year)
  • rotational dynamics (length of day, axial tilt)
  • solar dynamics (mass, sequence, brightness, spectral class, wind output, stability, ttl)
  • geomagnetism, geological stability, and more...

This is just too much data. But what if we limited our criteria to ranges of conditions favorable to human life? I used a 3-dimensional 3-deep grid (think rubics cube) to break down a planet to human habitability. The 3 dimensions and their depths:

Surface Temperature (T):

  • T1 = below 0C mean, 0C max over 90% of surface, liquid surface water would be mostly frozen, equatorial zone may be ok
  • T2 = mean 0C to 40C, good for humans
  • T3 = mean above 40C, 40C min over 90% of surface, generally too hot, polar/high altitude regions may be ok

Biosphere Favorability (B):

  • B1 = little to no biosphere, or non-oxygen biosphere
  • B2 = habitable biosphere, atmosphere mostly friendly to humans, minimal food and resources
  • B3 = lush biosphere, edible plant-like and animal-like organisms

Hazards (H):

  • H1 = little to no hazard to humans, or minimal protection required (dangerous sections of biosphere, small pockets of radiation, some harsh weather, large temperature ranges, etc)
  • H2 = moderate hazard to humans, protection required (gravity, extreme weather, dangerous biosphere, hostile intelligence, high surface or solar radiation, corrosive or dangerous atmosphere or pressure or temp, etc)
  • H3 = severe or extreme hazard to humans, substantial protection required, or too dangerous to even land

This gives you 27 combinations. I used a combination of English and Greek letters (with overlap) to format a grid. Greek letters and Y are for H3 worlds, J through Q are most optimal for human habitation or colonization. I skipped letters I O S Z because they look like numbers when written, and also U which looks like V.

  • A/Alpha: T1 B1 H3
  • B/Beta: T1 B2 H3
  • Delta: T1 B3 H3
  • C: T1 B1 H2 (The moon)
  • D: T1 B2 H2 (Delta Vega)
  • E: T1 B3 H2
  • G: T1 B1 H1 (Mars)
  • H: T1 B2 H1
  • J: T1 B3 H1
  • Gamma: T2 B1 H3
  • Lamba: T2 B2 H3
  • Sigma: T2 B3 H3
  • F: T2 B1 H2
  • N: T2 B2 H2 (Vulcan)
  • P: T2 B3 H2 (Pandora, P3X888)
  • K: T2 B1 H1 (Vorash)
  • L: T2 B2 H1
  • M: T2 B3 H1 (Earth without humans)
  • Y/Upsilon: T3 B1 H3 (Demon class, Venus)
  • Theta: T3 B2 H3
  • Omega: T3 B3 H3
  • V: T3 B1 H2
  • W: T3 B2 H2
  • X: T3 B3 H2
  • R: T3 B1 H1
  • T: T3 B2 H1 (P2X338)
  • Q: T3 B3 H1

Unfortunately this does not tell you about the complexity or intelligence of life. It would be easy to optionally categorize the most complex lifeform, and if there is intelligent life, its level of technological evolution. It does however do a pretty good job of telling you what to expect, or if you would need additional classification to determine if you should even enter orbit.

  • $\begingroup$ Yep, at some point I have to drop or defer details. $\endgroup$
    – rje
    Jan 22, 2019 at 15:12

Maybe use Chinese characters. It would keep a creatively thoughtful SciFi mystique it all, much like how Firefly uses Chinese in its world.

There are thousands of them, but, there would only be a limited set that is used most frequently for the most important-to-classify planets, such as habitable, dangerous, or mineral rich worlds.

It would also be clever.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .