Give a head with someone else's skin in one command: by player UUID or by texture string. Both the 1.20.5+ profile format and the legacy one.
A player head is an ordinary block, but it can carry someone else's skin. From 1.20.5 that skin data is stored in a profile component: a player UUID plus, optionally, a base64 texture string.
Without the component the game substitutes a default skin, which is why server builds so often end up with blank heads where characters should be.
The tool builds the command in the new component format and, for older versions, in the previous SkullOwner syntax.
Pick a source: a plain head, a skin by UUID, or one by texture string.
Enter the player UUID in 8-4-4-4-12 form, or paste the texture string.
Copy the finished command.
The same profile component works in /setblock, so you can turn a block into a skinned head on a wall or in a machine.
It appears in the player JSON file and is printed by a command. It's also part of the profile folder name inside the world folder when the server runs offline with prefixes enabled.
The texture string is base64 that encodes the skin image itself and isn't tied to an account. A UUID only points at an official account.
The profile component didn't apply: check your game version (profile arrived in 1.20.5) and that the component brackets are correct.
Without a profile component the game falls back to the default Steve/Alex skin, which is why many server builds end up with blank heads.
Ways to apply it