October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk8 min

How to Find a Player’s UUID on a Minecraft Java Server

A practical Java server guide to locating player UUIDs locally, handling whitelist formatting, calculating offline-mode UUIDs and recognizing Geyser/Floodgate identities.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For a Java Edition server, check the server root’s usercache.json first, then inspect world/playerdata filenames or an existing whitelist.json/banned-players.json. Those local files provide the UUID without an online lookup. Players who have never joined require a Mojang profile lookup, whose current endpoint and method should be verified before you automate against it.

Choose the source that matches your situation

A UUID lookup is easiest when you know whether the player has already connected and whether the server runs online or offline mode. Use the server’s own data whenever possible: it reflects the identity that server actually stored.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Source Player must have joined? Works for an unseen player? Third-party or API dependency Best use
usercache.json Yes No None First check for a Java player who has connected
world/playerdata/<uuid>.dat Yes, on that world No None Confirming identities from saved player data
whitelist.json or banned-players.json Usually; the entry must already exist No None Finding the UUID already used by an access or ban entry
Mojang profile lookup No Yes Depends on a current Mojang endpoint Players who have never joined your server
Third-party lookup site No, in many cases Often Yes; accuracy is not established Convenience or name-history research, not authoritative server administration

Find the UUID in usercache.json

Locate the file

usercache.json is in the server’s root directory: the directory containing the server JAR and files such as server.properties, eula.txt and the world folder. It is not normally inside world/playerdata. Stop the server, or at least avoid editing while it is running, so you read a consistent file and do not overwrite changes on shutdown.

Open the file with a text editor that can handle JSON. Search for the player’s current or former in-game name. Each matching record maps a name to a UUID; copy the value associated with that name exactly. The cache is populated for players who have joined, so a name that has never connected will not be present. The file’s retention period is not established, so do not treat the file as a guaranteed historical record for every past player.

Search from a terminal

On Linux or macOS, print the matching lines with:

grep -i 'PlayerName' usercache.json

On Windows PowerShell, use:

Select-String -Path .usercache.json -Pattern 'PlayerName'

Replace PlayerName with the exact name you are checking. These commands locate text; they do not validate that a copied value is the right UUID. If a player has changed names, inspect every matching record and verify which name the server currently uses in its access list.

Read a UUID from the world’s player-data filenames

Java Edition stores per-player data as files named <uuid>.dat under the world’s playerdata directory. For a default world, the path is:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
world/playerdata/

Every filename ending in .dat contains the UUID used for that saved player. This method is reliable for anyone who has played on that particular world, even if the cache entry is difficult to find.

When the folder is not named world

Servers can use a custom world directory. Check the level-name value in server.properties; that value identifies the primary world folder. Then open its playerdata subfolder. A multiworld plugin may maintain additional worlds, so check the world in which the player actually played.

What this method can and cannot tell you

  • The filename gives the UUID, but the file itself does not provide a convenient human-readable name.
  • An absent file means only that no player-data file was found in that world; it does not prove the person has never connected to another world or server.
  • Do not rename a .dat file casually. The filename is part of the server’s identity mapping, and changing it can make the saved data appear to belong to another UUID.

Check whitelist.json and banned-players.json

Access and ban lists are UUID-keyed. In whitelist.json, each entry has two fields: uuid and name. The name is a label for administrators; the UUID is the identity the server matches. banned-players.json likewise records a UUID alongside a name and ban metadata.

Read an existing entry

  1. Stop the server or make a backup copy of the file before editing.
  2. Open whitelist.json or banned-players.json in a JSON-aware editor.
  3. Search for the player’s name and copy the corresponding uuid value.
  4. Keep the UUID’s hyphens and letter casing as stored unless you have a specific reason to normalize them.

If the player is already whitelisted, the server has already resolved a UUID for that entry. Treat that local value as more relevant to this server than a result copied from an unrelated lookup site.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Understand the UUID format before fixing a whitelist error

Dashed versus undashed values

whitelist.json expects the conventional dashed form: 8-4-4-4-12 hexadecimal characters, for example xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Some Mojang API responses are returned as a 32-character value with the hyphens removed. If you transfer such a response into a whitelist entry, insert hyphens after characters 8, 12, 16 and 20.

Do not add braces, quotation marks inside the value, spaces or a prefix such as UUID:. The JSON property itself still needs quotes, as in:

Rank #3
Mattel Games UNO Minecraft Card Game with Storage Tin,Ages 7+
  • The classic UNO card game builds fun on game night with a Minecraft theme.
  • UNO Minecraft features a deck and storage tin decorated with graphics from the popular video game.
  • Players match colors and numbers to the card on top of the discard pile as in the classic game.
  • The Creeper card unique to this deck forces other players to draw 3 cards.
  • Makes a great gift for kid, teen, adult and family game nights with 2 to 10 players ages 7 years and older, especially Minecraft and video game fans.
{
  "uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "name": "PlayerName"
}

Why “whitelist UUID not working” happens

  • The value was copied without converting an undashed API response to the dashed format.
  • A UUID from a different account, similarly named player or old offline-mode identity was used.
  • The JSON syntax was broken by a missing quote, comma or bracket.
  • The file was edited while the server was running and the server later rewrote it.
  • The player is connecting through Geyser/Floodgate and therefore does not use the Java UUID you expected.

After editing, run the server’s normal whitelist reload command or restart it according to your administration practice. If the player is online, remove and re-add the entry only after confirming the UUID; repeatedly replacing entries with guesses can create duplicate or stale records.

Looking up a player who has never joined

A local cache and world save cannot contain an unseen player. Mojang profile lookups are the appropriate category of solution, but the endpoint details in commonly circulated guides conflict and no current verification against Mojang developer documentation is available.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Conflicting endpoint reports

One guide reports a GET request shaped like https://api.mojang.com/users/profiles/minecraft/<username>. The same material describes a bulk POST request, limited to 10 names, at https://api.minecraftservices.com/minecraft/profile/lookup/bulk/byname. A Minecraft Wiki description of the cache instead gives a POST to https://api.mojang.com/profiles/minecraft. Because these reports disagree, do not build a production script around one URL without checking Mojang’s current documentation and response format first.

Validate the result before using it

  • Confirm that the returned name is the account you intended, not merely a similar spelling.
  • Check whether the response uses a 32-character undashed UUID and convert it to the dashed form required by your JSON file.
  • Keep a copy of the original access-list file before replacing an entry.
  • If the account has never connected to your server, test the resulting whitelist entry with the player rather than assuming a successful HTTP response proves server compatibility.

Third-party services such as NameMC and MinecraftUUID.com can be convenient for name history, but their accuracy is not established. Use them as an optional cross-check, never as a substitute for the UUID already recorded by your own server.

Rank #4
Mattel Games UNO Minecraft Card Game for Kids, Adults, Families & Parties, Deck & Special Rule Inspired by the Video Game, 2 to 10 Players
  • Now Minecraft lovers can play a special version of UNO!
  • Same as Basic UNO but features Minecraft characters and includes special Creeper rule card. Draw this card and the other players have to draw three more cards from the pile!
  • The goal is to get rid of all the cards in your hand.
  • First player or team to 500 wins.
  • When you're down to one card, don't forget to yell "UNO"!
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Offline-mode UUIDs

An offline-mode server does not authenticate players through Mojang. Instead, the server derives a version 3 UUID from an MD5 hash of the literal prefix OfflinePlayer: followed by the username. Version 3 is visible in the UUID’s third group: it begins with 3.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Calculate the value locally

This Python example reproduces the derivation for a supplied username:

import hashlib
import uuid

name = "PlayerName"
raw = hashlib.md5(("OfflinePlayer:" + name).encode("utf-8")).digest()
offline_uuid = uuid.UUID(bytes=raw, version=3)
print(offline_uuid)

The printed value is the dashed UUID to compare with your server files. The calculation is deterministic for the exact username string, but it is not a Mojang account identity.

The rename consequence

Because the username is part of the hash, changing a player’s name on an offline-mode server changes the derived UUID. Their old inventory, permissions or whitelist entry can therefore appear to vanish under the new name. Before migrating a name, record the old UUID and plan an explicit data or permission migration; do not assume online-mode name-change behavior applies.

Bedrock players using Geyser/Floodgate

A Bedrock player connecting through Geyser/Floodgate may not have the Java-style UUID you expect. The reported pattern for these connections starts with 00000000-0000-0000-. If a Bedrock user cannot join despite a UUID copied from a Java account lookup, inspect the UUID in your server’s own cache and access-list files for that connection type.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do not overwrite a stored Geyser/Floodgate UUID with an online Java UUID merely because the names match. The bridge’s identity mapping is the value your server checks. For a mixed Java/Bedrock server, document which form belongs to each account before changing whitelist or ban files.

A repeatable administrator workflow

  1. Identify the edition and connection path. Confirm Java Edition, offline mode versus online mode, and whether the player is arriving through Geyser/Floodgate.
  2. Search the server root. Look up the name in usercache.json.
  3. Inspect saved worlds. Check the relevant world’s playerdata filenames and confirm the configured level-name if the folder is not world.
  4. Read existing access lists. Compare the name and UUID in whitelist.json or banned-players.json.
  5. Use an online lookup only for an unseen player. Verify the current Mojang endpoint before sending requests, and convert the response to dashed form when required.
  6. Check the UUID family. A version 3 value points to offline-mode derivation; a 00000000-0000-0000- prefix indicates the reported Geyser/Floodgate pattern.
  7. Back up, edit, reload and test. Preserve the original JSON, make one change, reload the whitelist or restart, and have the affected player test from the same connection type they normally use.

Common failure cases and fixes

The player is missing from usercache.json

They may never have joined this server, the cache may no longer contain the record, or the name may be misspelled. Check playerdata and access lists next. If all local sources are empty, use a verified Mojang lookup for an online-mode account.

The UUID works for one account but not another with the same name

Names are labels, not the key. Compare the complete UUID, the edition and the connection path. Offline-mode and Geyser/Floodgate identities can differ from an online Java profile even when the displayed name is identical.

The JSON file keeps reverting

The server may still be running and writing its in-memory list back to disk. Stop it before manual edits, retain a backup, then start or reload and inspect the file again.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A copied API value is rejected

Check for missing hyphens, an incorrect account, a stale endpoint response or an identity mismatch caused by offline mode or a Bedrock bridge. Compare the value with the server’s own files whenever the player has connected.

The Bottom Line

For an established Java player, the server’s own usercache.json, playerdata filename or access-list entry is the authoritative place to start. Only fall back to an online lookup for unseen players, and always account for dashed formatting, offline-mode hashing and Geyser/Floodgate identities.

Quick Recap

Bestseller No. 3
Mattel Games UNO Minecraft Card Game with Storage Tin,Ages 7+
Mattel Games UNO Minecraft Card Game with Storage Tin,Ages 7+
The classic UNO card game builds fun on game night with a Minecraft theme.; The Creeper card unique to this deck forces other players to draw 3 cards.
$11.66
Bestseller No. 4
Mattel Games UNO Minecraft Card Game for Kids, Adults, Families & Parties, Deck & Special Rule Inspired by the Video Game, 2 to 10 Players
Mattel Games UNO Minecraft Card Game for Kids, Adults, Families & Parties, Deck & Special Rule Inspired by the Video Game, 2 to 10 Players
Now Minecraft lovers can play a special version of UNO!; The goal is to get rid of all the cards in your hand.
$7.99

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.