Minecraft full body skin render
The whole Minecraft body of any player, head to feet, as a PNG: 18 poses, any joint, any camera, capes and both arm widths. From one URL, free, no key.
default pose=wave sneak, perspective dance, shadow /render/Notch/body and three variations.The full body render URL
https://skinrender.dev/render/069a79f444e94726a5befca90e38aaf5/body
https://skinrender.dev/render/069a79f444e94726a5befca90e38aaf5/body?pose=wave
https://skinrender.dev/render/Notch/body?pitch=-10&fov=40&pose=sit The body render draws every part of the player model: head, torso, both arms and legs, all six overlay layers and the cape. It is the render type the pose system was built for and the only one with a drop shadow. The default canvas is 320×512 px, tall and narrow to fit a standing figure; a wide pose such as tpose is auto-framed to fit (fit=true), or give width and height to choose your own canvas. Renders take well under 100 ms once the skin is cached, and cached URLs are served from memory in a few milliseconds.
Want less than the full body? bust stops at the waist and head is the head alone, both with the same camera; front and back lay the whole skin out flat, seen from the front or from behind. And mobs have a body render of their own: /render/mob/creeper/body draws a creeper, and the mob gallery has the rest.
Poses
Add pose=<name> for any of the 18 named poses: default, walk, run, wave, sit, sneak, point, dab, zombie, tpose, cheer, think, flex, salute, dance, punch, shrug, jump. Four of them (walk, run, dance, wave) are animated and take frame=0..1 to pick the phase. Every named pose is only a starting point: any of the six parts can be overridden with parameters like headYaw=-20 or leftArm=45, and an explicit joint parameter always wins for that joint. The full explanation, sign conventions and the GIF recipe are on the poses page; the skin poses guide is the gentler introduction.
sitpointcheersaluteshrugjumpCamera and perspective
The default camera turns the model 35° (yaw) and looks down 12° (pitch) with an orthographic projection (fov=0), the framing you know from inventory screens and skin sites. Three changes produce most of the looks people want:
- Straight-on catalogue shot:
yaw=0&pitch=0. Flat, symmetrical, good next to afrontrender for comparison. - Heroic perspective:
fov=40&pitch=-10. A field of view of 30–50 adds depth; a slightly negative pitch puts the camera below eye level so the figure looms a little. Combine withpose=pointorpunch. - From behind:
yaw=180, which is also the way to show a cape properly; addcapeAngle=35for movement.
zoom scales the figure on the canvas, offsetX/offsetY shift it (fractions of the canvas, so offsetX=-0.3 pushes it left for a banner with text on the right), roll tilts the whole image, and crop=true trims the transparent border after rendering. shadow=true adds a soft ellipse under the feet, which anchors a figure on a solid bg colour.
https://skinrender.dev/render/853c80ef3c3749fdaa49938b674adae6/body?yaw=-25&pitch=-12&fov=45&pose=punch
https://skinrender.dev/render/853c80ef3c3749fdaa49938b674adae6/body?yaw=180&capeAngle=35
https://skinrender.dev/render/853c80ef3c3749fdaa49938b674adae6/body?width=600&height=200&bg=12121a&offsetX=-0.3&shadow=true Capes
When the profile has a cape (Mojang staff, Minecon, migration and other official capes), the body render draws it hanging from the shoulders, angled out by capeAngle degrees (10 by default, 0 to 90). It is visible from the side and back angles and hidden behind the torso from the front. cape=false leaves it out. The cape is whatever the profile currently has; there is no parameter to supply a cape texture of your own. The flat cape render type returns the cape image itself.
default capeAnglecapeAngle=45, runningcape=falseSlim versus classic
Minecraft has two player models: classic (Steve) with 4 px wide arms and slim (Alex) with 3 px arms. A profile records which one its skin is meant for, and model=auto (the default) reads that — with one correction. That flag goes stale: plenty of players wear a slim texture on a profile that still says classic, and a slim texture has nothing painted in the two arm columns a classic arm needs, so drawing it classic leaves holes. So auto renders slim whenever the texture itself is a slim one, and otherwise follows the profile. It never goes the other way: a profile that says slim stays slim, because a classic texture on slim arms is merely a column narrower, which is what the game shows too. Textures rendered by hash have no profile to ask and are judged entirely on those columns. The override then matters for previewing how a skin would look on the other model; model=slim and model=classic apply to head, bust, body, front and back renders alike.
https://skinrender.dev/render/steve/body?size=256&model=slim&pose=tpose
https://skinrender.dev/render/alex/body?size=256&model=classic&pose=tpose Layers
The second skin layer is split into hat, jacket, left and right sleeve, left and right trouser leg. Each has its own boolean (jacket=false, leftSleeve=0…), and overlay=false switches all six off at once. Turning layers off is how skin sites show “the base skin”, and how you get rid of a bulky coat when a pose needs to read clearly at small sizes.
Embedding and caching
The response is a plain PNG with Cache-Control: public, max-age=3600, stale-while-revalidate=86400, an ETag and Access-Control-Allow-Origin: *, so it works in an <img>, a Discord embed, Markdown, a canvas or a server-side fetch. Store the UUID form of the URL, request the size you display, and let the browser or your CDN cache it; when a player changes skin the new render shows up within 15 minutes. Recipes for profile pages, Discord bots, signatures and cards are on the examples page.
Frequently asked questions
How do I render a full Minecraft body from a UUID?
https://skinrender.dev/render/<uuid>/body. Add pose=wave, size=512 or any other parameter as a query string. /render/<uuid> without a type redirects there.
Can I render a mob’s body, like a creeper?
Yes, from the same kind of URL: https://skinrender.dev/render/mob/creeper/body. Mobs take the same camera and size parameters and have poses of their own; every one is on the mob gallery.
What size is a body render?
By default 320×512 px (aspect 0.625). size sets the height and the width follows; width and height set both; the limit is 1024 px per side.
Does it show the cape?
Yes, when the profile has one and cape=true (the default). capeAngle sets how far it swings out. Capes come from the profile; there is no way to attach an arbitrary cape image.
Slim or classic arms?
The profile’s own model is used automatically, except that a skin whose texture is a slim one is drawn slim even when the profile still says classic — Mojang’s flag goes stale, and a slim texture on classic arms has holes. model=slim or model=classic forces one, which matters when you render a texture by hash and the API cannot know which it was made for.
Related documentation
- Render types: Every render type of the Minecraft skin API (face, head, bust, full body, front, back, skin and cape) with its default size, parameters and live example URLs.
- Parameters: Every query parameter of the Minecraft skin render API: size, camera yaw and pitch, fov, layers, capes, poses, per-joint angles and fallbacks, from the code.
- Poses: Every Minecraft skin pose the API renders, from wave and sit to think and dab, with live images, per-joint angles, sign conventions and animation frames.
- Examples: Copy-paste Minecraft skin render examples: profile pictures, Discord bot embeds, forum signatures, server list cards, textures by hash and animation frames.
- Playground: build any of these URLs by clicking.