Guides / Commands & Data

A Minecraft username is 1–16 characters of exactly three things, and a UUID has two spellings

Letters, digits, underscore. No hyphens, no dots, no spaces. And a UUID is accepted with or without its dashes — which is why one lookup fails and the identical one works.

Looking up a skin means turning something a person typed into something Mojang recognises, and there are only two things it can be. Both have precise rules, and the UUID one has a wrinkle that causes a lot of "it says not found" reports.

The username rule

^[A-Za-z0-9_]{1,16}$

Three character classes and nothing else: letters, digits, underscore. Length 1 to 16.

What that excludes is the useful part:

  • no hyphens — the single most common thing people try
  • no dots, no spaces, no @
  • nothing over 16 characters, and nothing empty

So a display name from a server, a Discord handle, or an email will not resolve, even though they look like names. If a lookup fails and the text contains a hyphen, that is almost always the reason — and a hyphen is the character that makes people reach for the other format.

The UUID rule, and why it has two spellings

^[0-9a-fA-F]{8}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{12}$

Note every -?: each dash is optional. Both of these are the same account and both are accepted:

069a79f4-44e9-4726-a5be-fca90e38aaf5      dashed
069a79f444e94726a5befca90e38aaf5          undashed

32 hex digits, grouped 8-4-4-4-12. Case does not matter either — A-F and a-f both match.

This matters because the two forms come from different places. A /data get on a player, a usercache.json, a plugin's config and Mojang's own API do not agree on which one they emit, so you will meet both, and a tool that accepts only one of them looks broken half the time.

The -? is per-separator rather than all-or-nothing, so a partially-dashed string also passes. That is more permissive than strictly correct, and deliberately so: rejecting a paste because someone lost one dash helps nobody.

Why a name and a UUID are not interchangeable

A username can be changed and reused; a UUID cannot. So a username lookup answers "who has this name right now", and a UUID lookup answers "this specific account, whatever it is called today".

For anything you are storing — a whitelist, a scoreboard, a datapack, a head — the UUID is the one that stays correct. The username is the one that is convenient to type.

Four animations, and they are poses over time

The viewer offers idle, walk, run and fly. These are animations rather than static poses, which matters for judging a skin: a texture that reads well standing still can look wrong once the arms swing, because the sides of the arm — the faces you never see in a flat preview — come into view.

That is the argument for previewing a skin in motion at all, rather than just rendering a front and a back.

Skin Viewer →

More guides

Browse all →

Looking for more Minecraft tools?

A suite of client-side generators, viewers and converters — all free, all in your browser.