Look up
Commands and NBT want the int array. Configuration files, whitelists and most plugin databases want the dashed form. Web APIs, including Mojang's own, hand back the undashed one. All three are the same 128 bits written three ways.
The one that catches people out is the offline UUID. It is not a lookup at all: the server computes it from the name, so two servers running offline mode give the same player the same id, and a rename gives them a different one. If you have ever moved a world from an offline server to an online one and found everybody's inventory missing, that is why.
The 32 hex digit id Mojang gives an account when it is created. It never changes, which is the point: names can be changed and reused, so anything that has to remember a player, from a ban list to a scoreboard, stores the UUID instead.
Since 1.16 the game stores UUIDs in NBT as an array of four signed 32 bit integers rather than a string. Anything that takes a UUID in a command, a player head's profile or a /data merge, wants that form, and this page gives it to you ready to paste.
A server running in offline mode cannot ask Mojang who anyone is, so it makes a UUID out of the name itself: an MD5 of the text OfflinePlayer: followed by the name, forced into a version 3 UUID. Change your name and your world data goes with the old one, which is why offline servers lose player inventories when someone renames.
Partly. If Mojang returns nothing for a name, no account currently holds it, which is the closest anyone outside Mojang can get. It does not tell you whether the name is reserved or merely lapsed.
Browse more Minecraft tools:
Browse All Tools