Roblox shirt template

A Roblox classic clothing template is a 585×559 pixel PNG. Only 18 rectangles on it reach the avatar — 147,456 pixels, 45.1% of the sheet. The other 54.9% never renders on the body at all, and a 2px gutter separates every face, which is why edges fray at distance when artwork stops short of it.

Measured from Roblox’s own template files · source · built by @MistyPhantom

Download the official templates. Shirt template (PNG) · Pants template (PNG). Roblox accepts PNG or JPG, but keep yours PNG: JPG has no alpha channel, so every transparent part of the template turns solid white and the unpainted areas of the garment stop showing skin.

The numbers

Canvas585 × 559 pixels (327,015 total)
FormatPNG, 8-bit alpha supported
Face regions18
Pixels that reach the avatar147,456 (45.1%)
Pixels that never render179,559 (54.9%)
Gutter between faces2 pixels
Region sizes used128×128, 128×64, 64×128, 64×64 pixels
up right front left back down up left back right front down up front left back right down
Every rectangle that reaches the avatar, drawn to scale on the 585×559 sheet. The shaded area — 54.9% of it — never renders.

Why more than half of it never shows

The sheet is a net: a flat arrangement of the six faces of the torso and the six of each limb, folded onto boxes. Nets do not tile a rectangle, so the space between the arms of the cross is simply unused. Painting there is not a mistake — nothing happens. It is 179,559 pixels of the file that the avatar never samples.

That dead space is also the only safe place to put anything you do not want on the garment, which is what this editor uses for an opt-in attribution mark.

The 2px gutter, and why seams fray

Every face is separated from its neighbour by 2 pixels of unpainted template. Roblox samples the texture with filtering, and at distance a sample near an edge mixes in whatever sits just past it. If your artwork stops exactly at the edge of a face, what it mixes with is transparency — and the seam reads as a pale fringe on the avatar.

The fix is to bleed artwork into the gutter rather than stopping at the boundary. This editor does that on export.

The limb strips are not mirror images

The most common wrong assumption about this template, and the reason hand-mirrored sleeves come out scrambled. The two limb strips carry their four side faces in different orders:

Right limb stripleft · back · right · front
Left limb stripfront · left · back · right

The left strip is the right strip rotated by one position, not flipped. Mirroring one onto the other pixel-for-pixel puts the front of a sleeve where its side should be.

Every region, exactly

FaceIdx, ySizePixels
Torso uptorso.up231, 8128×648,192
Torso righttorso.right165, 7464×1288,192
Torso fronttorso.front231, 74128×12816,384
Torso lefttorso.left361, 7464×1288,192
Torso backtorso.back427, 74128×12816,384
Torso downtorso.down231, 204128×648,192
Right arm / leg uprightLimb.up217, 28964×644,096
Right arm / leg leftrightLimb.left19, 35564×1288,192
Right arm / leg backrightLimb.back85, 35564×1288,192
Right arm / leg rightrightLimb.right151, 35564×1288,192
Right arm / leg frontrightLimb.front217, 35564×1288,192
Right arm / leg downrightLimb.down217, 48564×644,096
Left arm / leg upleftLimb.up308, 28964×644,096
Left arm / leg frontleftLimb.front308, 35564×1288,192
Left arm / leg leftleftLimb.left374, 35564×1288,192
Left arm / leg backleftLimb.back440, 35564×1288,192
Left arm / leg rightleftLimb.right506, 35564×1288,192
Left arm / leg downleftLimb.down308, 48564×644,096

Coordinates are top-left origin, in template pixels.

Design on it in your browser. Roblox Clothes Maker paints straight onto these regions with a live 3D preview, mirrors across matching faces, and handles the gutter for you. Open the editor.