I am investigating the practical utility and limitations of a procedural-generation-based naming scheme for stars and other notable or significant interstellar structures (e.g. nebulae, globular clusters) in a Milky Way-like galaxy, for use by an expansive interstellar civilization. Hundreds of billions of names, in other words. More specifically, however, a naming system based on – and communicating – key information about the objects it describes.

Preliminary assumptions and findings

Phonemic inventory

25 consonants and 15 vowels. Comparable to English, more or less.

Note: These are phones, not letters.

Syllable structure

(C)V; C for consonant (optional onset), V for vowel (mandatory nucleus).


I am hesitant to put hard limits on how long a name can be before it becomes impractical, particularly when short forms would inevitably be adopted for the most frequently used names.

Taking a cue from the world of taxonomy, the longest taxonomic name appears to be in the realm of 18 syllables (not including "subspecies" or similar designations). The average word in English is just over six letters long, factoring frequency of use, so that's a fair amount of wiggle room.


On first pass it appears to be achievable, with nearly seven and a half trillion unique names from just five syllables:

Syllables Count Cx × Vy Combinations
CV 1 251 × 151 375
VCV 2 251 × 152 5,625
CVCV 2 252 × 152 140,625
VCVCV 3 252 × 153 2,109,375
CVCVCV 3 253 × 153 52,734,375
VCVCVCV 4 253 × 154 791,015,625
CVCVCVCV 4 254 × 154 19,775,390,625
VCVCVCVCV 5 254 × 155 296,630,859,375
CVCVCVCVCV 5 255 × 155 7,415,771,484,375

This would seem to be enough, but I'm not sure it would allow for encoding information without producing ambiguous or duplicate names, or if such encoding would eliminate too many possible combinations. Six or more syllables and multi-word names are, of course, permitted.

Information density

As above, ideally such a system will communicate useful information about the body or object, perhaps including but not limited to:

  • Category of object – e.g. star, distinct from nebula, distinct from globular cluster, etc.

  • Class or type within category – e.g. Class K star, distinct from Class F; supernova remnant, distinct from planetary nebula; etc. Level of precision here will depend on the category of object.

  • Location – I'm unsure how granular this needs to be to be useful, but I suspect the general location is probably more useful in some cases, and easier to encode than precise coordinates. Duplication of names could be permitted with a convention for distinguishing locations, depending on referent (e.g. quadrant, arm, distance from core or home world, etc.).

Problems and considerations

  • Frequency: by some estimates three quarters of all stars in the galaxy are red dwarfs, meaning a high degree of information granularity and/or sophisticated encoding methods are needed to avoid most stars having very similar names, but this granularity or sophistication would be unnecessary for much rarer stars. In a galaxy of 400 billion stars five syllables (VCVCVCVCV) would be consumed – nearly 300 billion names, each of them differing from its neighbours on the list by just a single letter – just by red dwarfs, and those names would not include any other information about the individual stars. At the other end of the spectrum, the rarer an object is the shorter its name could be, potentially consuming all the shorter name spaces with rare objects rarely talked about or referenced.

  • Proximity: dozens or hundreds of red dwarfs in close proximity would all have nearly the same name without higher granularity of location encoding. Similarly, if higher location granularity constitutes a significant portion of the name, objects of different categories or types may all have similar names due to their location.

  • Higher granularity of any sort may translate into impractically long names, and long names with minor differences that could escape notice or cause confusion.

  • Potentially any possible combination of phonotactical rules could be considered so far as they do not contradict and are somewhat easily decrypted. Encoding methods need not be consistent from category to category or within categories.

  • As per our existing naming scheme, multiple gravity-bound objects might be distinguished by a second (or higher) order designation; e.g. Alpha Centauri vs. Beta Centauri (two different trinary systems distinguished by brightness), and Alpha Centauri A, B and C (three stars within the Alpha Centauri system). How this intersects with the above encoding needs to be resolved.

  • Convention may allow for exceptions, including but not limited to:

    • Relationship to other objects. Drawing from the point above, the most massive star in a multi-star system may lend its name to all stars within that system, overwriting the encoding in their names and demoting them to an affix, e.g. (DominantStarName) (∅; class encoded in name), (DominantStarName) (ClassK), (DominantStarName) (ClassM). This is only a partial solution as two or more stars in a system may be the same class.

    • Significance itself. Objects deemed to be of little to no importance may be relegated to a separate naming scheme that ignores or encodes information differently. E.g. the nearly invisible wisps of a disintegrating supernova remnant on the far side of the galaxy might be named in such a way to indicate it is a nebula-category object, then given an index number instead of further level of detail. Whatever the convention used, the naming scheme would have to allow for any object to be promoted from or demoted to this status, so a numeric scheme is not in itself a solution.

  • The (C)V syllable structure could be reconsidered, allowing (C)V(C), (C(CL))V, (C(CL))V(C), or even (C(CL))V((CL)C). (L for Liquid, which I will consider "r", "l", "y", and "w".) Compare the combinations per single syllable:

Syllables Count Cx × CLy × Vz Combinations
CV 1 251 × 40 × 151 375
CCLV 1 251 × 41 × 151 1,500
CVC 1 252 × 40 × 151 9,375
CCLVC 1 252 × 41 × 151 37,500
CCLVCLC 1 252 × 42 × 151 150,000

Note: This does not exclude onsets like "rr", "yl", "wl", "ww", etc.

  • As noted in the comments, vowel clusters (not to be confused with diphthongs or triphthongs; each vowel phone is pronounced) would also be valid in (C)V, so in addition to the ~300 billion of VCVCVCVCV we'd have another ~12 billion:
Syllables Count Cx × Vy Combinations
VCVCVCVV 5 253 × 155 11,865,234,375
VCVCVVV 5 252 × 155 474,609,375
VCVVVV 5 251 × 155 18,984,375
VVVVV 5 250 × 155 759,375

That is orders of magnitude more name space, potentially, though it would require more finessing to ensure pronounceability.

  • Taking some of the above to an extreme, perhaps the solution is to externalize nearly everything about an object in the form of category, and retain a minimal core necessary to "name" it:

    • [Category of Object] [Subcategory within Category] [Type within Subcategory] [Idiosyncratic Core Name] [Location Information]... Some of these could be quite short, even single syllables.

    • This might sidestep some issues but 300 billion red dwarfs may still require hundreds of millions of names being duplicated hundreds of times.


Can this idea be made to work (and if so, how), or are the numbers simply against it?

  • $\begingroup$ Even more name-space from syllabic stress, rhythm and inflection. Plus I have a habit of blinking my name in Morse when I say it. $\endgroup$ Commented Mar 19, 2020 at 19:02
  • $\begingroup$ @BLT-Bub Some of that may be hard to translate to written form... ;) $\endgroup$
    – rek
    Commented Mar 19, 2020 at 19:05
  • $\begingroup$ If the class-names of common things were shorter, then the space available for location info would be proportional to the granularity needed to specify which object you mean. $\endgroup$ Commented Mar 19, 2020 at 19:17
  • $\begingroup$ Oh, the horrors of the Philosophical Language! I think this query would be ideal if asked over on our sister forum, Constructed Languages. We thrive on language invention queries like this. $\endgroup$
    – elemtilas
    Commented Mar 19, 2020 at 19:40
  • $\begingroup$ (1) Please note that the absence of a consonant can be analyzed as a consonant itself; so that you can simply add ∅ (zero) to the inventory of consonants, and thus eliminate the need to distinguish between CV and V syllables. Plus this approach allows for beautiful names like Aotearoa [a.ɔ.ˈtɛ.a.ɾɔ.a]. (2) Most languages have severe restrictions on what consonant clusters are allow in the onset and coda of a syllable, e.g., English balks at syllables beginning with two stops. (As a Romanian, I have to be careful to delete the "p" in "psychology".) $\endgroup$
    – AlexP
    Commented Mar 19, 2020 at 21:05

3 Answers 3


Name by coordinates?

Break space up into cubes such that no cube contains more than one star. If there are 4 billion stars assume 4 quadrillion cubes. Many are empty.

Consider xyz coordinates such that each cube has an individual xyz. The cube root of 4 quadrillion is 158470. Each coordinate line would run from 1 to 158470. So each cube would have 3 6-digit coordinates. Some of these would be the name of a star.

But we have more digits to use! If the coordinate lines go from 1 to 999999 there would be slightly less than a million trillion cubes. More than enough for a measley 4 billion stars.

You want language names. Fortunately you have 10 vowels and 25 consonants. Each digit corresponds to a vowel. Each digit corresponds to 2 consonants.

enter image description here

A star is at coordinates 916392 916392 916392. Consider the 6 digit string 916392. enter image description here

All of these 6 letter names are 916392. I am partial to Xaydle because it sounds like a name from a Piers Anthony book. 3 of these 6 letter names can name any of the million trillion cubes. 916392 916392 916392 could be Xaydle Laydxp UahdUc. Or Xaydle Xaydle Xaydle if you dig that more. It is the same block.

Given that each 6 digit coordinate has 729 possible names there are 729^3 = 387420489 possible different names for the same cube. Then you can choose which names you use according to other properties. For example you could have blue giants have first names with all vowels - so if 916392 916392 916392 were a blue giant its first name would be UayiUe.

  • 5
    $\begingroup$ We need to go to Praclarush Taonat! $\endgroup$
    – Joe Bloggs
    Commented Mar 20, 2020 at 8:30
  • 3
    $\begingroup$ @JoeBloggs: you fly. I'll bring my ukulele! $\endgroup$
    – Willk
    Commented Mar 20, 2020 at 12:09
  • $\begingroup$ I'm afraid I can't follow this completely. How are phones being assigned to numbers, isn't it impractical if every coordinate cube has multiple valid names, and how does this work for globular cluters and multi-star systems ? How big are these cubes? $\endgroup$
    – rek
    Commented Mar 23, 2020 at 18:49
  • $\begingroup$ @rek - I did not know phones were part of this. Multiple valid names per coordinate were to demonstrate additional properties (e.g. size) beyond coordinate could be conveyed with the name. Additional properties could be chosen todistinguish multiple stars in the cube. If each cube were a cubic light year you would need 1 million billion for the milky way. System as proposed w 999999 per axis has 1 million trillion so each cube is 0.001 the size of a cubic light year. Maybe too small. Definitely 1 star each. Hanging out the sides, maybe. $\endgroup$
    – Willk
    Commented Mar 23, 2020 at 22:51

You might want to take a look at what3words.com. They built a mechanism to describe any properly aligned three meter square on Earth by a set of three (English or others) words. This further has the property that adjacent squares are not named anything similar. The mapping is fully reversible. (I don't know if the mapping algorithm is published.)

This idea, combined with your phonemes and syllables, could allow for unique naming of everything. This would also let one use only one of the words as a short "convenient" name for a nearby star, though one would need a local star-chart to find it from the short name.

Proposed Method

  1. Build a method to represent the location of a star (or other thing) in the galaxy. A coordinate system.
  2. Combine the coordinate with a type indicator (star, nebula, etc...) and any other required information.
  3. Represent this as a small bit vector. Ideal sizes are probably 256 or 512 bits, but the smaller the better.
  4. Encrypt this value with a symmetric encryption, using a known fixed key. (Actually, for military use, one might have alternate key(s) so they get different names.)
  5. Take the resultant encrypted value, split it into a number of approximately equal size values. Each one will become a "word". This could be 8 values in the 0 to 4294967295 range, or 7 in the 0 to 102116749982 range, or anything else that works for you.
  6. Take these n values and look them up in a dictionary (or n separate dictionaries if you wish) to get a word for each part. This is your name.

For one dictionary, one probably takes your table of permutations and numbers the entries sequentially. For multiple dictionaries, they would presumably go one to the first, one to the second, etc. Either way, one can translate the number to the word and vice versa algorithmically. (What3Words apparently uses tables, as they want real words.)

One advantage to separate dictionaries for each word: if somebody gets the order wrong, it still decodes properly. (What3Words uses one dictionary, word order matters.)

It is important to note that every step listed is fully reversible. This means given the name, you can get the coordinate.

  • $\begingroup$ I am familiar with that site, but it is more an example application of a method than a method itself. How are those words assigned, and what about the additional information the names are meant to encode? $\endgroup$
    – rek
    Commented Mar 25, 2020 at 16:03

Stellar Classification


You can simplify stellar classification by just referring to objects by mass. Classifications: "brown dwarf", "red dwarf", planet can be inferred.

For a galactic scale, you'd want Sagittarius A* on the high end $10^{36}$kg, the sun in mid-scale $10^{30}$ kg, planets $10^{24}$, dwarf planets $10^{22}$. I'd recommend using logarithms to shrink these scales. You don't care, I think, about precision here.

You could do log-base-10 and exclude everything below dwarf planet for a cost of 14 slots -- well within your vowel (15) or consonant (25) budget.


If mass is insufficient alone to glean type, you can also include surface temperature. Here, precision is important. Sirius at the high end is 10,000 K; the Sun is 6,000 K; and a red-dwarf is around 3,000 K.

You could do surface temperature in units of 1000s-deg-K for a cost of about 10 spaces in your budget.

Examples: 'Ba' might be a cold dwarf planet. 'Zu' could be Sagittarius A* (the black hole at the center of the galaxy).

Chemical Makeup

Not in the original question, but for a few syllables you could add the top 3 chemicals (by percent) making up the body. 99.95% of the universe is composed of only ten elements (H, He, O, C, Ne, Fe, N, Si, Mg, S). At the cost of one more phoneme, you can include mass-fraction. With 15 vowels to choose from, your resolution can be 6%.

Examples: 'Zaby' is an extremely big, cold, dust-cloud that is 100% made up of hydrogen. 'Bahy' is an iron rock.

Chemical composition can help differentiate similar bodies:

  • Uranus is 'Fabuca' ($10^{25}$ kg cold 83% H / 10% He),
  • Neptune is 'Gabuce' ($10^{26}$ kg cold 80% H / 20% He)

Location (absolute, last sighted)

Everything about location of celestial bodies is encoded in three parameters : distance (from some established point), latitude (relative to some meridian), and longitude (relative to some meridian).

You only need 180 degrees of latitude ($\pm$ 90) + 360 degrees of longitude. You can fit 360 degrees of longitude in your 26-consonant range by compressing them into 13$^o$ per consonant. 13$^o$ each works for your vowels as well.

Example: 'Bakyna' may be a a silicon rock on the galactic plane (0 latitude) at 150 degrees longitude.

Maybe an accent or a pause breaks up what-it-is from where-it-is : Baky'na, for example.


The galaxy is almost $10^{18}$ kilometers in diameter. As with mass, you can encode distance logarithmically and fit the whole range in the space for a consonant.

Example: 'Bakynac' is near the galactic core, on the galactic plane, at 150 degrees longitude. 'Bakynaw' is at the same latitude and longitude, but at the galactic edge.

Precision (alternative encoding for lat/lon/distance)

At the cost of one more consonant-vowel pair, you can have two degrees of precision. Both are expressed as Knuth's up arrows, which allow you to compactly get around the number line.


Zyzyzy = $(20 \uparrow 6) \times (20 \uparrow 6) + (20 \uparrow 6) $ roughly edge of the galaxy at a resolution of ~1 light-years. For comparison, 'W' on the logarithmic scale only cost a single consonant, and had a resolution of ~50,000 light-years.

When Last Sighted

Everything in the galaxy moves. So, it's very important to know when 'Bakynac' was named. But this might be additional detail beyond the naming scheme.


Everything in the galaxy moves.

Velocity, like position, is a vector that can be cast in latitude, longitude, and radial components. Velocity (the sum of the squares of latitude, longitude, and radius) ranges from -c to +c.

You can use logarithms to get the components to fit in your symbols.

Example: 'Dakynazyba' is a rogue planet made of glass on the edge of the galaxy, 0 latitude / 150 longitude, and is heading straight for the galactic core 'zba' at the speed of light.

The long name 'Dakynazyba-1980' might let you know that this planet was last measured in galactic year 1980 (whatever that means).

Changing Names

Provided a higher precision database to get the details lost in naming, you can follow along as the position of a planet evolves over time. The celestial mechanics seldom changes. But in the event something greatly changes the predicted course, like passing close by a previously unknown body, the name can be changed.


You must log in to answer this question.

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