Minecraft

Offline Mode Server Skins: Why They Don't Show and What to Do

When online-mode=false, the server never asks Mojang who you are, so it never gets your skin. Here is why that happens and the clean way to get skins back.

TheGameHosting Team 5 min read
Why Skins Don't Show in Minecraft
Background: Minecraft © Mojang Studios

Offline mode server skins fall back to default characters because a server with online-mode=false never checks accounts with Mojang, and the skin comes from that check. The fix that keeps your server within Mojang's rules is to turn online-mode back on, or run a proxy that checks accounts for you, and then use SkinsRestorer if players want to change skins.

This guide explains what is going on behind the Steve and Alex faces, what Mojang's server rules actually say, and how to switch a server back to online mode without losing anyone's inventory.

Why offline mode server skins don't load

When a player joins a server in online mode, the server confirms the account with Mojang's authentication service. That reply includes the player's real ID (UUID) and the texture data for their skin and cape, signed by Mojang. The server then shares that profile with everyone else, which is why you see your friend's custom skin.

With online-mode=false that step is skipped. The server takes whatever name the client sends, makes up an ID from that name and has no texture data to share. The Minecraft Wiki puts it plainly: offline players are unable to use a skin without mods, and since Java Edition 1.19.3 they are given one of the default skins instead. So it is not a broken setting you can tweak; there is simply no skin to show.

Offline mode has a bigger problem than skins. Because no one is verified, anyone can type any name, including yours or a moderator's. The Velocity documentation calls a backend in offline mode without a protected proxy in front of it “dangerously insecure”, and that is the reason many grief stories start with an operator's name being reused.

What Mojang's rules say about offline servers

Mojang's Minecraft Usage Guidelines have a section called “Servers and hosting”. It allows you to host a server and even charge for access, but it sets a clear condition: access to your server “must only be granted to users who have a genuine paid-for version of Minecraft”. The Minecraft EULA starts from the same place: when you buy the game, you can download, install and play it.

Online mode is the built-in way to meet that condition, because it only lets in players whose account the authentication service confirms. That is why this guide does not cover ways to let unverified accounts in with fake skins. If your group is running offline mode only because someone does not have the game yet, the honest fix is for that person to get a copy; on PC, Java and Bedrock are sold together, and Bedrock players can join a Java server through Geyser.

How to get skins back: switch to online mode

Before you flip the setting, know one thing: offline and online players have different UUIDs. Inventories, ender chests, positions and permissions are saved per UUID in the world folder, so after the switch every player starts as if it were their first time. Make a backup first so nothing is lost for good, and plan to move important items before the change.

  1. In the panel, open Backups and create a backup of the server.
  2. Ask players to store important items in shared chests, since personal inventories are tied to the old IDs.
  3. Stop the server from the Console tab.
  4. Open Files, edit server.properties and set online-mode=true. Leave enforce-secure-profile=true as it is.
  5. Start the server again. Each player now joins with their real account and their own skin loads.
  6. Give operator status again with op YourName in the console, and re-add players to the whitelist if you use one, because both lists store UUIDs.
server.properties
online-mode=true
enforce-secure-profile=true

If you need to re-create operators, the guide on how to OP yourself on a Minecraft server walks through it, and Minecraft server whitelist covers rebuilding the list.

If you use a proxy: Velocity or BungeeCord

Networks with a lobby and several game servers are the one legitimate case where backends run with online-mode=false. The proxy keeps online-mode = true, checks every account, and forwards the verified profile, including the skin, to the backend. Skins work normally as long as forwarding is set up correctly:

SetupWhere accounts are checkedSkins
Single server, online-mode=trueThe server itselfWork
Velocity with modern forwardingThe proxy (online-mode = true)Work
BungeeCord-style legacy forwardingThe proxyWork, but the PaperMC docs call legacy forwarding fundamentally insecure
Single server, online-mode=false, no proxyNowhereDefault skins only

The full setup, including forwarding.secret and paper-global.yml, is in our guide on setting up a Velocity proxy.

Changing skins on a legit server with SkinsRestorer

Once accounts are verified, players see their own skins. If you also want players to wear a different skin on your server, for a roleplay character or an event, SkinsRestorer is the usual plugin. It is published on Modrinth and Hangar and runs on Paper, Spigot, Velocity, BungeeCord and also has Fabric and NeoForge builds. Its own documentation says it works with online and offline authentication and asks you not to disable authentication just to install it.

  • Single server: put the SkinsRestorer jar in the plugins folder and restart.
  • Proxy network: install it on the proxy and on every backend, with forwarding already working.
  • Commands: /skin set Name (or the shortcut /skin Name) copies the skin of that account, /skin clear goes back to your own, /skin update refreshes it and /skin undo reverts the last change.

If a command is denied, give the player the plugin's permissions with your permissions plugin. For more on adding plugins, see how to install plugins on a Paper server.

A server that does it right from day one

On TheGameHosting your Minecraft server is ready about 60 seconds after payment and you edit server.properties straight from the Files tab in your browser. The Backups tab covers the safety copy before you switch modes, and you can add SkinsRestorer from the Plugins tab or upload the jar to plugins. The server stays online 24/7 without your PC, and the panel gives you an address to share, so there are no ports to open.

Servers run on AMD Ryzen 9950X and 7950X3D processors with DDR5 memory and NVMe storage, with DDoS protection included and locations in Dallas and Amsterdam. Plans start at $1.90 a month for 2 GB, with unlimited slots and no setup fee, and support answers 24/7 by chat and tickets. Have a look at our Minecraft server hosting or go straight to plans and pricing, and use the code FULL2026 for 15% off for life.

FAQ

Why does everyone look like Steve or Alex on my server?

Your server most likely has online-mode=false. Without the account check, the server receives no skin data, so it shows default skins. Set online-mode=true or put a properly forwarded proxy in front.

Will I lose my inventory if I switch to online mode?

Your items stay in the world files, but they are saved under your old offline ID, so you start fresh after the switch. Back up first and move important items into chests before you change the setting.

Does SkinsRestorer require offline mode?

No. Its documentation says it works with online and offline authentication and specifically asks you not to disable authentication just to install it.

Is it allowed to let players without the game join?

Mojang's Usage Guidelines say access to a server must only be granted to users with a genuine paid-for version of Minecraft. Online mode is how the server enforces that.

Hosting for these games

Written by TheGameHosting Team, the people who run our servers in Dallas and Amsterdam and answer your tickets.

All posts