# The format only matters at the edges

> PNG versus JPG versus WebP is mostly a non-question. What actually shows up on a printed garment is compression damage along hard edges — and that comes from re-saving, not from the format.

August 17, 2026 · https://justog.club/stories/png-jpg-or-webp-for-printing

Three copies of one logo, magnified at the same edge. The first is clean. The second has blocks
and a coloured fringe along the boundary. The third has gone soft.

That's the entire practical content of the format question, and it's visible rather than
theoretical.

## Which format should I use?

Whatever the original is. This isn't a decision worth making.

Preparing files for a press is pipeline work and it happens on this side, so there's no format
you're expected to supply. The upload path takes what you have.

What matters isn't the container. It's whether the image has been through a lossy save — and
that's a separate question from what it's called.

## What's actually happening in those insets?

Lossy compression trades precision for size, and it pays for it at edges.

JPEG works by discarding information the eye is least likely to miss, which works well for
photographs and badly for hard boundaries. A black line against orange is exactly the case it
handles worst, so you get **blocking** (the boundary breaks into squares) and **ringing** (a faint
fringe of wrong colours alongside the line).

Aggressive WebP does something similar with a different character — usually smearing rather than
blocking. Both are irreversible.

## Why does that matter more for a shirt?

Because garment designs are made of hard edges, and enlargement makes artefacts bigger too.

A photograph enlarged carries its compression noise along, but the noise sits in texture where
it's hard to see. A logo, a piece of lettering, a flat-colour illustration — those are edges
almost all the way through, and enlargement sharpens the damage as faithfully as it sharpens the
design.

That's the same reason
[a screenshot is a genuinely bad source](/stories/dpi-for-t-shirt-printing): it's a
lossy save of a lossy display of the original.

## So PNG is better?

For hard-edged artwork, yes — because it's lossless, not because of the letters in its name.

PNG stores every pixel exactly, which suits flat colour and sharp boundaries and is why design
tools default to it. Lossless WebP does the same job in a smaller file. JPEG has no lossless mode
in ordinary use.

But a JPEG saved once at high quality from an original is fine. A PNG made *from* a heavily
compressed JPEG is not — the damage is already baked in, and re-saving losslessly just preserves
it perfectly.

**The generation matters more than the format.**

## How do I tell if a file has been damaged?

Zoom in on a hard edge, which is the same thing the picture above is doing.

Pick a boundary between two flat colours and magnify it. Clean means the transition is one or two
pixels. Damaged means squares, halos, or a gradient where there should be a step.

That takes five seconds and it's the only file check worth doing — considerably more useful than
looking at the file size or the extension.

## What about the file the model gave me?

Use it directly, and avoid the round trip.

The common way files get damaged isn't the model's output — it's what happens afterwards: saved
into a chat app, downloaded from a social post, screenshotted from a preview, re-exported through
a background remover. Each step is another lossy save.

The original download is the best copy that will ever exist. Everything after that is a
generation loss.

## Does any of this apply to photographs?

Much less, and it's worth saying so.

A photo of a person or a pet is texture rather than edges, so moderate compression is nearly
invisible and the enlargement handles it fine. The advice above is about logos, lettering and
flat-colour illustration.

Which means for
[the redraw route](/stories/pet-photo-on-a-shirt) the file question barely exists — what's
needed is enough of the subject to work from.

## How do I get one made?

Upload the original file at [JustOG](/) — whatever format it came in. Pick a direction, drag the
crop frame, see it composited on the real garment, and it's made to order and shipped.

Designs other people have published are in the [shop](/shop).

Nobody has ever been let down by the extension. They were let down by the fourth save.
