Minecraft UUID Color Algorithm: Java Locator Bar RGB

How Java UUID hashes become Locator Bar colors: HSV brightness 0.9, not RGB multiplication. Notch is #E66185. Includes offline UUID and override caveats.

Last updated: 2026-09-14

Java Edition's default Locator Bar color comes from the entity UUID. The client takes the low three bytes of UUID.hashCode() as RGB, then sets HSV brightness to 0.9, retaining hue and saturation.

Correction, 14 September 2026: this site previously multiplied every RGB channel by 0.9. That was incorrect. The Finder, Checker, exports and generator seed preview now use the corrected engine. Notch's default is #E66185, not the previously reported #DC5D7F.

Calculate a username or UUID, compare your party, or build an override command.

What was verified

We inspected Mojang's official Java 1.21.6 and 26.2 client artifacts, using the launcher version manifest. In 26.2, the Locator Bar passes ARGB.color(255, uuid.hashCode()) to ARGB.setBrightness(..., 0.9F). This is not scaleRGB.

This is a version-scoped code verification, not a published Mojang compatibility guarantee or a screenshot color measurement. Shader packs, screen capture, team colors and explicit overrides can change what you see.

Step 1: fold the UUID into a Java hash

Java's hash is:

long hilo = mostSigBits ^ leastSigBits;
int hash = ((int) (hilo >> 32)) ^ (int) hilo;

For Notch's UUID, 069a79f4-44e9-4726-a5be-fca90e38aaf5, the result is 0xE9F5688E (signed decimal -369792882).

Step 2: read the low three RGB bytes

The high byte is not part of the RGB color. The low bytes are:

| Channel | Hex | Decimal | | ------- | --- | ------- | | Red | F5 | 245 | | Green | 68 | 104 | | Blue | 8E | 142 |

The raw hash color is #F5688E.

Step 3: set HSV brightness, preserving hue and saturation

Convert the raw RGB to hue, saturation and brightness. Keep hue and saturation, replace brightness with Java's float value 0.9F, then convert back with Java float arithmetic and channel rounding.

For Notch this gives rgb(230, 97, 133), or #E66185.

A useful distinction: setting brightness is not scaling brightness. A dark red raw hash becomes bright red; a black or gray raw hash becomes #E6E6E6. Java float rounding matters at half-channel boundaries. A simplified double-precision implementation may disagree by one channel value.

Does this apply to custom /waypoint colors?

No. Named and explicit HEX colors bypass the UUID-default derivation. For example:

/waypoint modify @s color hex E66185

uses that RGB value directly. Team or explicit waypoint colors can override the UUID default. Reset the override when comparing the finder with a vanilla client.

Offline-mode servers and Bedrock

A Java offline-mode server normally calculates the UUID from the UTF-8 bytes of OfflinePlayer: followed by the exact, case-sensitive username, using Java's name-based MD5 UUID algorithm. The Finder's offline mode does this locally; no account lookup is needed.

A proxy or plugin can assign a different UUID. In that case, use the UUID reported by that server. Do not assume an online account UUID is the one an offline server uses.

Bedrock does not use this Java UUID-default algorithm. Use the Bedrock version helper and add-on starter, not an Xbox gamertag in the Java finder.

Why can two players share a color?

A UUID has far more bits than an RGB color. Hash collisions are possible, and fixed-brightness normalization merges some otherwise different RGB values. Similarity warnings in the party checker are a practical heuristic, not a promise of unique colors or accessibility certification.

Sources and maintenance

Version changes require re-checking the client method; old screenshot or competitor matches are not sufficient evidence.