Minecraft Locator Bar Colors: How Your Color Is Calculated
Where Minecraft locator bar colors come from: the Java UUID hash, Bedrock join-order colors, the Geyser XUID mapping, and /waypoint overrides.
Updated 2026-09-11
Your Minecraft locator bar color is not random and not something you pick in a menu: on Java Edition it comes from your account UUID. The game turns that UUID into a 32-bit hash and reads the lowest 24 bits as red, green and blue. Because the UUID belongs to the account and never changes, the same color follows you into every world and every server.
Bedrock Edition breaks that rule, which is where most of the confusion starts. This guide walks through the calculation, explains why Java colors are stable, shows how Bedrock players get a fixed color on Java servers through Geyser, and covers the /waypoint command.
What the locator bar is, and where the color comes from
The locator bar is a HUD strip that points toward waypoints and other players. It arrived in Java Edition 1.21.6 and Bedrock Edition 1.21.90. Each player gets a colored icon, generated automatically.
Most situations are one of the four rows below.
| Setup | What decides the color | Same in every world? | Can it be changed? |
|---|---|---|---|
| Java Edition, premium account | Account UUID, hashed | Yes | Yes, via /waypoint modify (operator only) |
| Java Edition, offline-mode server | UUID derived from the username | Yes, for that username | Yes, via /waypoint modify (operator only) |
| Bedrock Edition, local world or server | Assigned temporarily by join order | No, it can change each session | No vanilla command |
| Bedrock player on a Java server via Geyser | Virtual UUID built from the Xbox XUID | Yes | Yes, /waypoint modify on the Java side |
From UUID to a color, step by step
The color checker on this site reproduces the calculation behind the default Java color: the hashCode() implementation of Java's own UUID class, followed by a fixed way of cutting the result into three color channels.
- Split the UUID on its hyphens into five groups: the first three make one 64-bit number, the last two make another.
- XOR those two numbers together.
- Fold the result to 32 bits by XORing its upper half with its lower half. It is a signed value, so it is often negative, which is expected.
- Take the lowest 24 bits: bits 16 to 23 are red, bits 8 to 15 are green, bits 0 to 7 are blue. Six hexadecimal digits give the color.
Bits 24 to 31 are discarded completely, so two UUIDs whose hashes share the same low 24 bits produce exactly the same color.
One example you can verify: the Java UUID of the account Notch is 069a79f4-44e9-4726-a5be-fca90e38aaf5. Its hash is -369792882, or 0xE9F5688E in hexadecimal. The lowest 24 bits are F5688E, so the color is #F5688E, a pink. The tool prints the same value as HEX, RGB and HSL.
Mojang has not published the internals of the locator bar coloring, so treat this as a close reproduction of the community rule rather than an official specification.
Why the color never changes between worlds or saves
A premium Java account's UUID is issued once and stays with that account for life. It is not tied to a world, a save file or a server, and renaming the account does not change it, so anything derived from it is stable too.
- The same color in single-player worlds, on Realms, and on every server you join.
- Unchanged if you rename the account, change your skin or switch launchers.
- Unchanged by game updates, as long as the coloring rule itself is unchanged.
- Friends can recognise each other's icons without asking.
Offline-mode servers are the exception. They cannot ask Mojang for a real UUID, so they generate one from the player's username using the UUID v3 scheme. That UUID is stable for a given name, but renaming the account changes it, and two players with the same name share a color.
On an offline-mode server, copy the UUID the server generates and paste it into the Direct UUID tab. The tool hashes whatever UUID you give it, so the result matches what the server sees.
Bedrock Edition: join order, XUID and Geyser
Vanilla Bedrock does not use the UUID at all. Colors are handed out by join order and reset between sessions, so the same player may return with a different color. No vanilla Bedrock command can set it.
When a Bedrock player joins a Java server
With GeyserMC and Floodgate in the middle, the proxy creates a virtual Java UUID: the upper 64 bits are zero and the lower 64 bits are the account's Xbox Live XUID. The Java server then derives a fixed color from that virtual UUID.
That is the path the tool follows in its Bedrock tab: it looks the Gamertag up through the public PlayerDB API to get the XUID, assembles 00000000-0000-0000-XXXX-XXXXXXXXXXXX from its hexadecimal digits, and runs the same hash routine.
A hypothetical example: an XUID of 2535413172052385 is 000901F1E17AA1A1 in hexadecimal, giving the virtual UUID 00000000-0000-0000-0009-01F1E17AA1A1. Its hash is -512516016 and the color is #73A050, a medium green.
Two limits apply. The Gamertag lookup needs a network connection and a third-party API, so a real player can occasionally fail to resolve. Geyser's configuration can also change how the virtual UUID is built, and the server color may then differ.
Overriding the color with the /waypoint command
On Java Edition 1.21.6 and later, an operator can replace the automatic color using the /waypoint modify command family, which needs permission level 2 or higher. With LuckPerms, the relevant node is minecraft.command.waypoint. Regular players cannot change their own color without those rights.
| Command | What it does |
|---|---|
| /waypoint modify PlayerName color red | Applies one of the sixteen named colors |
| /waypoint modify PlayerName color hex FF5555 | Applies an exact six-digit hex color, without the # sign |
| /waypoint modify PlayerName color reset | Removes the override and returns to the UUID default |
| /waypoint modify PlayerName visibility allies | Controls who sees the waypoint: everyone, allies or hidden |
The named colors are the standard sixteen used across the game, and the hex form takes any six hexadecimal digits. In every command above, PlayerName stands for the in-game username.
The tool builds the hex command for you: pick a color and it generates /waypoint modify PlayerName color hex RRGGBB, quoting the name if it contains a space. The picker's reset button returns you to the UUID default color.
When you calculate from a UUID rather than a username, the command keeps a placeholder name: Java Player from the Java tab, Resolved Player from the Direct UUID tab. Replace it with the real name before running it, or the server will not find the target.
When the calculated color does not match the game
The calculation is deterministic, so a mismatch nearly always comes from the input or from a server-side override.
- Check the edition: a Bedrock player in a local world has a temporary join-order color that cannot be predicted.
- Check for an override: run /waypoint modify PlayerName color reset and compare the result.
- Check which UUID applies. A premium account, an offline-mode server and Geyser produce three different UUIDs.
- Check the input format: usernames are at most 16 characters, UUIDs must be 32 or 36 hex characters, and the third tab also takes a decimal hash.
- Check the proxy configuration if the player connects through Geyser.
| Tab | Accepts | Notes |
|---|---|---|
| Java Edition | A username, or a 32 or 36 character hex UUID | Usernames resolve through the public PlayerDB API and need network access |
| Bedrock (Geyser) | An Xbox Gamertag | The Gamertag becomes an XUID, then a Geyser-style UUID |
| Direct UUID / hash | A full UUID, or a decimal hash value | For offline-mode UUIDs and raw hash values |
A 24-bit color space holds 16,777,216 values, so two different players can legitimately share a color. If a friend looks identical on the bar, that is a hash collision, not an error.
Your Java locator bar color is a short, deterministic function of your UUID: hash it, keep the low 24 bits, read them as red, green and blue. The locator bar color tool on this site runs that calculation for usernames, UUIDs, Gamertags and raw hash values, and builds the matching /waypoint modify command when you want a different color. Need a UUID to test with? The UUID generator can produce one.
Frequently asked questions
Does my locator bar color change if I change my Minecraft username?
Not on Java Edition. The color comes from the account UUID, and renaming an account does not change its UUID. On an offline-mode server the UUID is generated from the username instead, so there the color does follow the name.
Why do I have a different color on one specific server?
That server most likely overrides colors with /waypoint modify, or it runs in offline mode and has assigned you a different UUID. Ask an operator to run /waypoint modify PlayerName color reset, then compare the result with the color calculated here.
Can Bedrock players set their locator bar color?
Not in vanilla Bedrock, where colors are temporary and based on join order. If the Bedrock player joins a Java server through Geyser, an operator on the Java side can use /waypoint modify to set or reset the color.
Why does the tool say the player was not found?
Username and Gamertag lookups go through a public API, so they need a working connection and the exact spelling. If the player only exists on an offline-mode server, use the Direct UUID tab instead and paste the UUID that the server generated.
Is the color really derived from the UUID, or is it random?
It is deterministic. The same UUID always produces the same hash and therefore the same color, which is why your icon keeps its color across servers. The 24-bit color space is the only thing limiting how unique that color can be.
Tools used in this guide
Minecraft Locator Bar Color Checker
Check the locator bar color of any player in Minecraft. Look up a UUID's default color or pick a custom one and get a ready /waypoint modify command. Java and Bedrock Geyser supported.
UUID Generator
Generate UUIDs / GUIDs free online. Supports versions v4, v7 and batch generation up to 1000, with uppercase and hyphen options. 100% private — uses cryptographically secure randomness, never leaves your browser.
More guides
HEIC vs JPEG: iPhone Photos Explained
What HEIC is, why iPhone uses it, how it differs from JPEG, when you must convert to JPG, and whether converting costs quality.
Passport Photo Size Requirements: Pixels, DPI and KB
How passport and visa photo rules work: print size, pixels, DPI, and the file-size ranges upload systems actually enforce — including the minimum sizes many of them reject files for. Plus how to compress without blurring the face.
IBAN Structure and Check Digits
How an IBAN is built, how the MOD-97 check digits are calculated, and what a passing checksum does not prove.