Minecraft Skin API
A free API for Minecraft skin renders. Give it any Java or Bedrock player and get back a PNG: a 3D head, a full body, an avatar, a posed render or the raw skin file. No API key, no sign-up, and it works straight from an <img> tag, a Discord bot or a server plugin.
Quick start
GET https://whiscey.net/render/skin/<name>/<type>?size=256
<name> is a Java username, a Java UUID (with or without dashes), or a Bedrock player the way Floodgate shows them (a dot in front, underscores for spaces, like .whisceymc). Players who can't be found get Steve or Alex instead of a broken image.
Render types
| head | 3D head with the hat layer |
| face, avatar | Flat 2D face, good for chat avatars and player lists |
| bust | Head, shoulders and chest in 3D |
| default | Full body in 3D at an angle |
| full | Full body from the front |
| skin | The raw 64x64 skin PNG |
| <pose> | 18 poses: waving, sitting, reading, running, dancing, crisscross, heart_hands and more |
| sticker, chibi, plushie, card | Fun styles: outlined sticker, big-head chibi, plushie, profile card |
| wave.gif | Animated waving GIF |
Options: ?size= (16โ1024), ?overlay=false, ?flip=true, ?emote=, ?acc= (crown, halo, cat ears, chef hat and more), ?hold= (tulip, sunflower, spatula, plushie). The full list is on the skins page.
Examples
HTML
<img src="https://whiscey.net/render/skin/Notch/head?size=128" alt="Notch's head">
JavaScript (Discord bot)
const url = `https://whiscey.net/render/skin/${encodeURIComponent(name)}/bust?size=256`;
await channel.send({ embeds: [{ title: `${name} joined!`, image: { url } }] });
Python
import requests
png = requests.get(f"https://whiscey.net/render/skin/{name}/default?size=512").content
open(f"{name}.png", "wb").write(png)
Skript (Minecraft server)
set image of embed to "https://whiscey.net/render/skin/%player%/head?size=128"
Java (Spigot/Paper plugin)
String url = "https://whiscey.net/render/skin/" + player.getName() + "/face?size=64";
Why use it
- Free and keyless. No account, no API key, no daily quota to manage.
- Java and Bedrock. Bedrock skins come through GeyserMC, so Floodgate players render properly.
- Fast. Renders are cached on Cloudflare's network for 6 hours.
- Starlight Skins compatible. Starlight Skins shut down; old links like
/render/head/<name>/fullwork by changing the domain to whiscey.net. - Never breaks your page. Unknown players get Steve or Alex instead of an error image.
FAQ
Is there a free Minecraft skin API?
Yes, this one. Request https://whiscey.net/render/skin/<name>/<type> and you get a PNG. No key needed.
How do I get a player's head as an image?
Use /head for a 3D head or /face for the flat face. Add ?size=128 or any size from 16 to 1024.
Does it work with Bedrock players?
Yes. Use the Floodgate name, like .whisceymc, or the Floodgate UUID.
Can I replace Crafatar, mc-heads or Starlight Skins with it?
Yes. It covers heads, avatars and body renders, plus poses and styles they don't have.
How fast do new skins show up?
Renders are cached for 6 hours, so a changed skin can take up to 6 hours to update.
More free Minecraft APIs
whiscey.net also has a server status API, live server banners, a player lookup API and a MOTD formatter. Every option for all of them is on one page.