/lookup/{player}
Resolve a username or UUID to a profile with skin model, cape sources and render links.
- player
- Username (1–16 chars) or UUID.
https://mccatalog.com/lookup/NotchAll endpoints accept a Minecraft username or a UUID (with or without dashes). Short paths like /bust/{player} are the canonical links; the same renders also live under /api/skins/{player}/bust. Image endpoints return PNG and are cached at the edge for an hour. Lookups hit Mojang and are cached for ten minutes. Head, bust and body are rendered in 3D with perspective and lighting; add style=flat (or style=iso for the head) to get the flat 2D variants instead. Capes come from OptiFine first and Mojang second, exactly as they show up in game. Every image endpoint also takes download=1 to return the PNG as a file download.
Resolve a username or UUID to a profile with skin model, cape sources and render links.
https://mccatalog.com/lookup/Notch2D face with hat layer.
https://mccatalog.com/texture/6c38aba62a532aa0333dc8336274c13cd84d718aea5141cf704aef3ac5d6a48f/face?size=643D head in perspective. /skull/{player} is an alias.
https://mccatalog.com/texture/6c38aba62a532aa0333dc8336274c13cd84d718aea5141cf704aef3ac5d6a48f/head?size=5123D bust: head, torso and arms.
https://mccatalog.com/texture/6c38aba62a532aa0333dc8336274c13cd84d718aea5141cf704aef3ac5d6a48f/bust3D full body. View is front, back, left or right.
https://mccatalog.com/texture/6c38aba62a532aa0333dc8336274c13cd84d718aea5141cf704aef3ac5d6a48f/body-front?size=320Raw 64×64 skin texture. Legacy 64×32 skins are upgraded automatically.
https://mccatalog.com/texture/6c38aba62a532aa0333dc8336274c13cd84d718aea5141cf704aef3ac5d6a48f/rawOuter side of the player's cape. Uses the custom OptiFine cape when there is one, otherwise the Mojang cape. 404 when the player has neither.
https://mccatalog.com/cape/Skeppy?size=200Render any skin texture hosted on textures.minecraft.net by its hash, as used by the skin library. Render is face, head, bust, body-front, body-back, body-left, body-right or raw.
https://mccatalog.com/texture/6c38aba62a532aa0333dc8336274c13cd84d718aea5141cf704aef3ac5d6a48f/bust?size=200&model=classicRenders are plain PNGs, so a normal image tag is all you need. This component falls back to another skin service if a render fails. A fuller version with head, face and body variants ships in the repository under examples/SkinRender.tsx.
"use client";
import { useState } from "react";
export function SkinBust({ uuid, height, username }: { uuid: string; height: number; username?: string }) {
const [failed, setFailed] = useState(false);
const width = Math.round(height * 0.8);
return (
<img
key={failed ? "fallback" : "primary"}
src={failed
? `https://crafthead.net/armor/bust/${uuid}/${width}`
: `https://mccatalog.com/bust/${uuid}?size=${width * 2}`}
onError={() => setFailed(true)}
alt={username ? `${username} skin` : ""}
width={width}
height={height}
loading="lazy"
draggable={false}
/>
);
}