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:

\begin{array} {|l|c|c|r|} \hline Syllables &Count &C^x\times V^y &Combinations \\ \hline CV &1 &25^1\times15^1 &375 \\ \hline VCV &2 &25^1\times15^2 &5,625 \\ \hline CVCV &2 &25^2\times15^2 &140,625 \\ \hline VCVCV &3 &25^2\times15^3 &2,109,375 \\ \hline CVCVCV &3 &25^3\times15^3 &52,734,375 \\ \hline VCVCVCV &4 &25^3\times15^4 &791,015,625 \\ \hline CVCVCVCV &4 &25^4\times15^4 &19,775,390,625\\ \hline VCVCVCVCV &5 &25^4\times15^5 &296,630,859,375\\ \hline CVCVCVCVCV &5 &25^5\times15^5 &7,415,771,484,375 \\ \hline \end{array}

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:

\begin{array} {|l|c|c|r|} \hline Syllables &Count &C^x\times C_L^y\times V^z &Combinations \\ \hline CV &1 &25^1\times 4^0\times 15^1 &375 \\ \hline CC_LV &1 &25^1\times 4^1\times 15^1 &1,500 \\ \hline CVC &1 &25^2\times 4^0\times 15^1 &9,375 \\ \hline CC_LVC &1 &25^2\times 4^1\times 15^1 &37,500 \\ \hline CC_LVC_LC &1 &25^2\times 4^2\times 15^1 &150,000 \\ \hline \end{array}

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:

\begin{array} {|l|c|c|r|} \hline Syllables &Count &C^x\times V^y &Combinations \\ \hline VCVCVCVV &5 &25^3\times 15^5 &11,865,234,375 \\ \hline VCVCVVV &5 &25^2\times 15^5 &474,609,375 \\ \hline VCVVVV &5 &25^1\times 15^5 &18,984,375 \\ \hline VVVVV &5 &25^0\times 15^5 &759,375 \\ \hline \end{array}

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$ – Rottweiler on market-day. Mar 19 '20 at 19:02
  • $\begingroup$ @BLT-Bub Some of that may be hard to translate to written form... ;) $\endgroup$ – rek Mar 19 '20 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$ – stellatedHexahedron Mar 19 '20 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 Mar 19 '20 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 Mar 19 '20 at 21:05

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.

  • 3
    $\begingroup$ We need to go to Praclarush Taonat! $\endgroup$ – Joe Bloggs Mar 20 '20 at 8:30
  • 2
    $\begingroup$ @JoeBloggs: you fly. I'll bring my ukulele! $\endgroup$ – Willk Mar 20 '20 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 Mar 23 '20 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 Mar 23 '20 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 Mar 25 '20 at 16:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.