Coordinates & Portal Addresses are the way we navigate to specific points in No Man’s Sky, but unless you know exactly how they work they can be very confusing and kind of useless to you. There are various tools around to help you make things easier, but if you fully understand how the system works it is quite useful and satisfying to know you can meet up with friend, go and see that awesome planet everyone is talking about or find that S class exotic that spawns in so very few systems and be the one to gift it’s location to the world. We’ll start with coordinates, a 16 character alphanumeric code that is split into 4 parts of 4, you know it’s a coordinate, but how does that translate to an X, Y, Z. Firstly, the parts are in order X, Y, Z and then System Number. The X, Y, and Z refer to a region in space, these regions have names on the galactic map such as Shungka Void, which is one of the Euclid Galactic Hub official Regions.
The Regions then have multiple Star Systems within, usually a few hundred and that is what the last part refers to. The regions defined by the X, Y & Z coordinates being the same as the named regions is a logical jump I have made, I have not confirmed this, whether this is correct or not does not make any difference when staring at the numbers, but would specifically matter when attempting to locate a specific system index on the in-game galactic map using the named region as a control. It is quite logical to assume that this code refers to a specific planet, but it does not, it refers to the system only, each system then has a sub-coordinate system basing itself on the planets within it and not the overall space, but we’ll get to that shortly, first, we need to know what the coordinates Alphanumeric code actually is.
That brings us to Hexidecimals… Hexidecimal, also known as Hex or Base 16 is a numerical system. To compare it to the decimal system of 0-9 having 10 characters, the Hexidecimal system has 16, with 0-9 then additionally A, B, C, D, E and F which represent 10 to 15. As far as why it’s used instead of the system that just about the entire world is fluent with, it’s pretty much a case of ease. Hex is far more user-friendly to deal with for programmers as each hex character represents 4 binary characters, 4 binary characters is a bit, a byte is 2 bits, meaning a byte is 8 binary characters or only 2 hex characters. That’s enough for why they use it, now how do you read it? Well you now know what each hex character represents, that’s easy, the annoying part is translating a multiple character string of hexadecimal to decimal.
We’ll start with a super simple 2 digit hex code of 6D to introduce you to the system then move to a much larger string. For 6D we’ll take the last character and work backward as you would with decimal, this is D. D represents the number 13 you then multiply 13 or D by 16 to the power of 0. A power is a multiplicative of itself, so 16 to the power of 2 (or 16 x 16) is 256, 16 to the power of 10 (or 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16) is 1,099,511,627,776 (which is interesting, as it is how many bytes are in a Terabyte), when 16 to the power of 0 is introduced in hexadecimal it is considered to be 1.
This simplifies our last character being D as 13 multiplied by 1, so the first character is 13. This seems like a big waste of time to bother translating the lowest character past turning D to 13, but it will help to introduce the system. The previous character is 6, this, of course, represents 6 in hex, but as it is the second to last character you must multiply this by 16 to the power of 1, which is 6 multiplied by 16. 6 multiplied by 16 is 96. Now we’ve translated the individual characters, you just sum the results up and you have your translation, as 13 plus 96 is 109, so 6D equals 109. So let’s do a huge number and I’ll just randomly think of one… 3A7B55C204 You just know this is going to be ridiculous, but fun, so if you feel you have a basic grasp, pause the screen and do the translation, feel free to use a calculator to help with the individual powers and sums…
So let’s do this, super speedy style. 4 multiplied by 16 to the power of 0 is 4 0 multiplied by 16 to the power of 1 is 0 2 multiplied by 16 to the power of 2 is 512 C multiplied by 16 to the power of 3 is 49,152 5 multiplied by 16 to the power of 4 is 327,680 5 multiplied by 16 to the power of 5 is 5,242,880 B multiplied by 16 to the power of 6 is 184,549,376 7 multiplied by 16 to the power of 7 is 1,879,048,192 A multiplied by 16 to the power of 8 is 42,949,672,960 3 multiplied by 16 to the power of 9 is 206,158,430,208 Then to sum it up; 4 + 0 + 512 + 49,152 + 327,680 + 5,242,880 + 184,549,376 + 1,879,048,192 + 42,949,672,960 + 206,158,430,208 Equals 251,177,320,964 If you compare that to the original Hex string, and then even Oct or Binary, the string is nice and short with Hex. Now that you know how to translate Hexadecimal strings into Decimal, let’s take a look at the coordinates you’ve got in front of you. As the example, we’ll use my home system. WHUE:044B:0081:0D58:0096 For anyone who is unsure, to get this data string, simply place a signal booster anywhere on a planet in your system of choice and it will display the coordinates. The first part is 4 or 5 letters and I have not been able to figure this out, I theorize it is mapping coordinate for the planet location either in the system or the planet itself.
Either way, it changes based on where you place it, you are limited to 1 signal booster per location, the location is not defined by a perimeter around the booster placed but a specific small region on the planet, I suspect this is a 3D grid of sorts. The fact that it changes based on where you place it, as well as when removing and replacing in the same place the code is the same but when removing and placing just to the side but still within the defined region limit is different has me boggled, the area defines this limit, not the booster, but the area covers more than a sub-region defined by the code.
If anyone has information on this, I would be very grateful. *Coming back to this during the edit, I have thought of another possibility, it could very well be merely an ID that is randomised using the location you place it as the Random Number Generator, by doing this you would have less processes, not many less, but less, and this would account for the ID being the same if you replace a signal booster in the same location. The second part is the X coordinate, the third part is the Y coordinate and the 4th part is the Z coordinate, leaving the 5th part, as the System Index.
If we now ignore the first ALPHA string and translate the remaining 4 hex parts we get x1099:y129:z3416:s150 You then need to apply a shift, this makes the Galactic Core 0,0,0 For X and Z the Shift is -2047 and for Y the shift is -127 So if we apply this shift we get x-948:y2:z1369:s150 This gives us the Galactic Coordinates, this is how your coordinates are listed in your save files, they use the shift, I imagine this is to apply effects and modifiers based on distance to the core like higher chances of planet biome types or ship slot count etc, but of course, this is just logical speculation.
Hexidecimal code doesn’t work too well with negative figures so this explains the implementation of a shift, to begin with. Before we get to turning galactic coordinates into a Portal address and vice versa, there are a few useful things to bear in mind regarding the size of the galaxies in No Man’s Sky. Each Galaxy is 4096 by 256 by 4096, as far as Data goes it is a cuboid, various images of the corners of the galaxy has been observed to see a solid barrier. Each of these points is a region containing 512 systems, the regions are defined by an 8 by 8 by 8 grid, though none of these regions and systems are equally spaced in the galactic map, so this is a purely BTS data appearance, I theorise the galactic map uses a simple modifier to give you funky shaped region and different distances resulting in clusters of systems that shine brightly giving you a more realistic feel when traversing the galaxy.
So there are a maximum Trillion systems in each galaxy Each system has the ability to contain 15 planets, why not 16? well the first hexadecimal is 0 and it does not play a role in noting a planet, it is the space stations planetary index, it is also the index noted when in your freighter, I suspect it uses the space stations location to define your and the freighters location. While there could be a potential 15, I have never confirmed more than 6 planets or moons within a system, a moon, of course, is just considered a planet with regard to the index. I seem to remember seeing more than 6 in some systems but I cannot confirm this. You may wonder where the 18 Quintillion number came from, I did write a whole big thing going through the numbers of what we actually have and tbh it was long winded and kinda pointless. The reality is that we don’t have that many planets, the potential for that is there, kind of, the number comes from there being a potential 2 to the 64th seeds, so Quintillion unique planetary possibilities.
There are a suspected 256 different universes, it is tough to find fully reliable confirmation on this being the maximum, but it is thought to be. Now for Portal Addresses… A portal address is a 12 character string comprised of a combination of 16 different glyphs. If you didn’t know before, you have probably realized after our extensive bout into hex code that each symbol represents a hexadecimal character. The glyphs are always in order where ever you look from 0 to F, sunset being 0 and Pythagoras being F, forgive my assigned names to the glyphs, hopefully, they won’t be too confusing. A Portal address holds all of the information that a galactic coordinate hold except with the addition of the Planetary Index allowing you to pinpoint a specific planet within a specific system within a specific region of a galaxy. It is not currently possible to use the gates to travel between galaxies, but that would be a beautiful feature to add in the future maybe having very rare planets holding special portal that can do this, I would love for them to make it one per region, so 1 in 512, theoretically, which if you add the number of planets would make finding one a very big deal and many people would converge to those points.
It’s also worth noting that a 14 symbol address would be required for this. Right, Back to the addresses. They are broken up into 5 parts, the first symbol is the planet index, the second third and fourth symbols are the system index, the 5th and 6th symbols are the Y coordinate, the 7th, 8th and 9th symbols are the Z coordinate and the 10th, 11th and 12th symbols are the X coordinate. The first symbol being the planetary coordinate is super simple, as we covered earlier, the space station or general system is regarded as the 0 index which means the first glyph cannot be used to pinpoint a portal in the first symbol of the address, if you do select the Sunset glyph as the first symbol of the 12, the connection will error and then send you to the first planet by default which is denoted by the 2nd glyph which is 1 in hex.
So to simplify, Bird is the first planet, Face is the second, so when picking the planet index for addresses, just count along the glyphs and add 1. For the rest of the address, we learned earlier how to get your galactic coordinates to decimal form and apply the shift, well to gain a portal address is a slightly different method and shift. If we use my home planet as the example; Ignoring the planet index for the moment, we get x044B:y0081:z0D58:s0096 We then don’t translate this to decimal at all, the calculations for this are done in Hex, you could do it in decimal like I have had to for the calculations on my tools but it requires more steps.
We add a shift of 801 to the X and Z coordinates and 81 to the Y, remember that this shift is also Hex, if you convert those for laughs they are similar to the decimal shifts added to find the decimal coordinates except you apply 2 more to each shift as it is a sort of backwards shift. So if we apply this shift we get x0C4C:y0102:z1559:s0096 Then we must rearrange those parts, put the system index first, the Y next, the Z after that then the X last s0096:y0102:z1559:x0C4C Then we need to shorten them a little, and it will seem somewhat illogical to remove more than just the initial 0 padding. Take the system index to 3 characters, the Y coordinate to 2, then the z and x coordinates to 3, which will give us 096:02:559:C4C You may wonder why we got rid of the 1 from both the Y and Z coordinates, well, due to the shift, there is no overlap due to the scope of the galaxy, so this is not a problem.
Then we add the portal number, which is the planet index, I’ve seen a very helpful post on Nexusmods warn to not confuse the 2 but in all of my experience fiddling around and testing this stuff I have seen no difference between the planet index and portal number. Put the Planet index as a single character at the front; 3:096:02:559:C4C Then just remove the colons and convert each individual character to a glyph using this handy decoder, either that or count from the first and minus 1, Sunset is 0, Commie-Moon is 4, Pythagoras is F etc etc and you get this… Diplo, Sunset, Swirly, Boat, Sunset, Face, Waypoint, Waypoint, Swirly, Teepee, Commie-Moon, Teepee Which is my Home planet address, feel free to pop by and say hello or leave a comms station btw, the comms station you can see a waypoint for from the portal is my base.
To get the galactic coordinate from a portal address is not as simple as reversing it due to those numbers we got rid of earlier. Simply decode the glyph sequence; 309602559C4C Break those up into 1, 3, 2, 3 and 3 3:096:02:559:C4C Now we need to recover those lost digits in a way that could be consistently applied across the board otherwise you won’t get the correct result. So follow this rule, for the Y coordinate which is the 3rd part as we have it broken up here, if it is 80 or below, then apply a 1 in front making it 180, for the Z and X coordinate which are the last 2 parts, if it is 800 or below, apply a 1 in front making it 1800 at most.
This is because, say for the Y coordinate, we are limited to 2 characters but the highest Y coordinate possible in the No Man’s Sky galaxy with the portal address shift applied is 180, so the 1 must be dropped, and the lowest is 81, so if it is 80 or below, then it must require the 1 in front, the same reason just with an extra character applies to the Z and X. Remember that this whole process of the portal address translation so far has been in hex even though we’re mostly talking with 81 and 801 as the shifts etc, it is easy to forget that 81 in hex is very different in decimal being 129. If we apply this rule we get 3:096:102:1559:C4C Then drop the first part as that is the planetary index and not included in a galactic address giving you. 096:102:1559:C4C let’s apply the shift next, So take the Y coordinate which is the second part and subtract 81, remembering that this is still all hex, then take the Z and X coordinates which are the 3rd and 4th parts respectively and subtract 801, which gives us this; s0096:y81:zD58:x44B Then pad the parts, this is just adding a zero before the number to make each part 4 characters, be sure to pad them in front so as to not change the value of the strings, this gives us; s0096:y0081:z0D58:x044B Then lastly, rearrange the coordinates so they are in the required order for a Galactic Coordinate, which is X, Y, Z, system index; x044B:y0081:z0D58:s0096 And there you have it, the original coordinate we started with, once you have this from a portal you can apply the previous translation we did before to turn a Galactic Hex Coordinate into a decimal coordinate which can be used to see your location in a visible spectrum or even edit your save file if you’re into that kind of thing.
If you’ve made it this far, I applaud you, while this is an interesting subject, especially so to me, I have found myself often exhausted wrapping my head around everything over the past few months, it seems the internet does not have all of this information in one place and it’s explanations are not in tune with my mind, I hope this has been at least somewhat viable to comprehend. Now, before you head off and take a painkiller for the headache you likely have, while this is interesting and very useful for the travellers of NMS, for the day to day calculations you’ll likely want something easier on the brain, so I’ve done my usual thing and made a few calculators on Xainesworld.com.
You can find a quick Hexidecimal to Decimal calculator at xainesworld.com/hex As well as a Calculator which gives you all the information like Decimal Coordinates, Portal Address, and Galactic HEX coordinates for a Hex Coordinate, Portal Address or Decimal Coordinate. Whichever you have it will show you all the rest, at xainesworld.com/galacticcalc All the links can be found in the description. Thank you for watching folks, if this helped you be sure to hit that like button and share with your fellow travelers, subscribe if you haven’t already and maybe think about checking out my Patreon, a dollar a month is a great way to support the channel and my work such as this. But above all, have an awesome day folks.
As found on Youtube