A fast, self-healing skin rendering API. Generate 2D flat sprites and 3D isometric projections of Minecraft skins dynamically by username or UUID.

3D 3D Full Body Walk
3D Full Body Walk
GET /3d/full/:name
3D 3D Isometric Bust
3D Isometric Bust
GET /3d/bust/:name
3D 3D Isometric Head
3D Isometric Head
GET /3d/head/:name
2D 2D Flat Full Body
2D Flat Full Body
GET /2d/full/:name
2D 2D Flat Bust
2D Flat Bust
GET /2d/bust/:name
2D 2D Flat Face
2D Flat Face
GET /2d/face/:name
SKIN Raw Resolved Texture
Raw Resolved Texture
GET /skin/:name

API Documentation

Fast, blocky REST endpoints for your site, bot, or application.

API Endpoints

GET /2d/face/:name Flat 2D face render (8x8 grid scaled)
Aliases: /2d/avatar/:name, /2d/head/:name
GET /2d/bust/:name Flat 2D front view of head, torso and arms
GET /2d/full/:name Flat 2D front view of full skin
GET /3d/head/:name 3D isometric head render
Aliases: /3d/avatar/:name
GET /3d/bust/:name 3D isometric upper body render
GET /3d/full/:name 3D isometric full body in walking pose
GET /skin/:name Raw resolved skin texture file (64x64 or 64x32)

Query Parameters

ParameterTypeDefaultDescription
sizeInteger128The size of the output image in pixels. Clamped between 8 and 2048. For full bodies/busts, size dictates output height.
overlayBooleantrueWhether to render the secondary outer layer (hats, jacket sleeves, pant layers). Pass false or 0 to disable.

Examples

// JavaScript (browser): fetch a 2D face as a blob URL
    const res = await fetch("http://localhost:3000/2d/face/Notch?size=128&overlay=true");
    const blob = await res.blob();
    const imgUrl = URL.createObjectURL(blob);
    document.querySelector("#avatar").src = imgUrl;
# Python (requests): download a 3D bust to disk
    import requests
    url = "http://localhost:3000/3d/bust/Steve?size=256&overlay=true"
    with open("steve_bust.png", "wb") as f:
        f.write(requests.get(url).content)
# cURL: save a 2D full body render
    curl "http://localhost:3000/2d/full/Alex?size=384&overlay=true" -o alex_full.png
// Node.js: resolve the raw skin texture
    const https = require("https");
    const fs = require("fs");
    https.get("http://localhost:3000/skin/Notch", (res) => {
      const file = fs.createWriteStream("notch_skin.png");
      res.pipe(file);
    });