Skip to content

Minecraft body render

The full player model as a PNG: 18 poses, any joint, any camera, capes and both arm widths. From one URL, free, no key.

Notch full body render, default default
jeb_ full body render, pose=wave pose=wave
Dinnerbone full body render, sneak, perspective sneak, perspective
Alex full body render, dance, shadow dance, shadow
Live: /render/Notch/body and three variations.

The URL

text
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.

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.

Steve in the sit pose
sit
Steve in the point pose
point
Steve in the cheer pose
cheer
Steve in the salute pose
salute
Steve in the shrug pose
shrug
Steve in the jump pose
jump

Camera 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 a front render 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 with pose=point or punch.
  • From behind: yaw=180, which is also the way to show a cape properly; add capeAngle=35 for 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.

text
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.

jeb_ from behind, default capeAngle
default capeAngle
jeb_ from behind, capeAngle=45, running
capeAngle=45, running
jeb_ from behind, cape=false
cape=false

Slim 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 Skin Render reads that, so model=auto (the default) is right for every real player. The override matters in two cases: rendering a raw texture by hash, where there is no profile to ask and the API guesses from the texture’s arm pixels, and 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.

text
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.

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. 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.

  • Render types: Every render type of the Minecraft skin API with its default size, aspect ratio, which parameters apply and live example URLs for each one.
  • 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: All 18 named Minecraft skin poses with live renders, per-joint overrides, sign conventions and the frame parameter for walk, run, dance and wave GIF frames.
  • Examples: Copy-paste recipes: profile pictures, Discord bot embeds, forum signatures, server list cards, textures by hash, perspective portraits and animation frames.
  • Playground: build any of these URLs by clicking.