Bedrock player skins not showing for Java players
Why Bedrock skins show as Steve or Alex to Java players on a Geyser server, how Floodgate's skin uploading works, and which skins can't be shown.
Updated · 2 min read
Java players see Bedrock skins only when Floodgate is installed, and even then the skin can take a moment to appear the first time a player joins. Some Bedrock skins, such as 3D or Marketplace skins with custom shapes, can never be shown exactly on Java.
How Bedrock skins reach Java players
Java clients load skins from Mojang's skin servers, tied to a Java account. Bedrock players do not have one. When Floodgate is installed, Geyser and Floodgate send the Bedrock skin to GeyserMC's global skin service, which converts it and gets it signed so Java clients will accept it. Floodgate then applies it to the Bedrock player.
This means:
- Without Floodgate, Bedrock skins are not shown to Java players.
- The first join with a new skin can be slow to update, because the skin is queued for upload. Players may look like Steve or Alex for a short while.
- After it is processed, the skin is cached and shows quickly on later joins.
Skins that will not look right
| Bedrock skin type | What Java players see |
|---|---|
| Classic 64x64 skin | Shown correctly |
| Slim (Alex-style) arms | Shown correctly |
| Character Creator or persona skins | An approximation at best |
| 3D skins with custom geometry, Marketplace extras | Flattened, or a default skin |
Java's skin format is a flat 64x64 texture on the standard player model, so anything with custom geometry cannot be represented.
Java skins on Bedrock
The other direction works out of the box: Geyser shows Java players' skins to Bedrock players without any extra setup.
Fixes to try
- Make sure Floodgate is installed and loaded. Check the console on startup. See add Floodgate.
- Wait and rejoin. Have the Bedrock player leave and rejoin after a few minutes.
- Use a classic skin. If a player wants their look to show, a standard 64x64 skin is the safest choice.
- Update Geyser and Floodgate. Older versions may have skin bugs. See update Geyser and Floodgate.
- Check skin plugins. Plugins such as SkinsRestorer can override skins for everyone. If one is installed, its settings take priority, and Bedrock players may need to set a skin through it.
Linked accounts
A Bedrock player who has linked their account to a Java account uses the Java account's skin on the server. See link Java and Bedrock accounts.