Most teams do not have an asset problem, they have a repetition problem. The same five decisions — what size, what format, what name, what quality, who gets it — get made again for every campaign, by whoever happens to be free, from memory. A pipeline is just those decisions written down once, then followed in an order that does not undo itself.
What “repeatable” actually means
A pipeline is repeatable when a second person can run it without asking you anything, and when the output is the same whoever runs it. That has three consequences worth stating plainly:
- It has an order. Steps that undo each other (compress, then resize, then re-compress) are not a pipeline, they are a loop.
- It has names. If a file cannot be identified without being opened, the pipeline leaks time at every handoff.
- It has an end. A batch is finished when it is delivered and verified — not when the last export lands in a folder somewhere.
The seven steps
- 01Write the asset list firstOne line per deliverable: what it is, where it appears, the pixel size it renders at, and the format the destination accepts. This is the document that stops the fifth round of “can you also send it square?”.
- 02Keep one master per assetThe master is the biggest, least processed version you own — the camera file, the design export, the vector. Every published size comes from it. Never re-export from a previous export.
- 03Name files so the list sorts itselfA convention like project-purpose-size.extension means a folder can be read without opening anything, and it survives being zipped, emailed or handed to someone else.
- 04Resize before you compressCut each asset to the largest size it is displayed at, in the aspect ratio the layout actually uses. Compression is cheap to redo; sending the wrong dimensions is the expensive mistake.
- 05Compress and compareCompress, then look at the result against the original at the size it will be seen. If the difference is invisible at that size, keep the smaller file and move on.
- 06Convert as the last stepConvert the finished, correctly sized file into the format the destination serves. The conversion is the output, not the working copy.
- 07Hand off on a link that expiresSend the batch through a drop link with a six-digit key instead of a permanent shared folder. The recipient downloads it once, and the files stop existing on their own.
A naming convention that survives a handover
You do not need a taxonomy. You need a pattern that encodes the four things people ask about: what it is, what it is for, how big it is, and what it is.
project-purpose-size.ext
acme-hero-2400.webp
acme-hero-1200.webp
acme-hero-600.webp
acme-product-shot-1200x900.webp
acme-logo-mark.svgLowercase, hyphens rather than spaces, and the size as it renders. Two useful rules follow from it: a folder listing becomes a manifest, and “which file is live?” is answered by the name rather than by whoever remembers.
The tools, in the order you use them
The pipeline above maps onto four tools on this site, used in a specific order. Each one is free, needs no account, and takes the output of the previous step.
- Image Resizer — dimensions.Produce every size on the asset list in the aspect ratio the layout uses. Do this first: compressing a file you are about to resize wastes the pass.
- Image Optimizer — weight.Compress the resized files, up to 10 MB each and 20 at a time, and compare each result against its original before accepting it.
- Image Converter — format. Convert the finished files into what the destination serves, or produce two formats where a fallback is needed.
- FileDrops — delivery. Upload the batch, share the link, and read out the six-digit key for the person receiving it. The drop expires on its own, so nothing is left sitting in a shared drive afterwards.
One more tool earns a place if you edit templates as part of the work: Code Diff Checker shows exactly what changed between two versions of a file, which is how you keep an image-swap change small enough to review.
Decide once per batch, not once per file.
Sizes, quality and format are batch decisions. Making them per file is how an afternoon of exports turns into three days of “which version did we send?”.
What breaks a pipeline
- Re-exporting from exports. Each save of an already-compressed file degrades it a little more, and nobody notices until the third generation.
- Wrong aspect ratio at the last step. Cropping after compression means compressing pixels you then throw away — and re-encoding everything you kept.
- Permanent handoff folders. A shared drive never expires, so the folder becomes the archive by accident, with five generations of the same logo in it.
- No verification step. If nobody opens the delivered batch and checks a file end to end, the first person to find the mistake is the client.
- Undocumented settings. “Quality 80-ish” is not a specification. Write the number down, and the next person can reproduce your output without you.
The checklist to run today
- Asset list written, with a render size and a destination format for each line.
- One master per asset, stored where it will not be overwritten by an export.
- Filenames follow one pattern, lowercase, with the size in the name.
- Every asset resized to the largest size it displays at.
- Every asset compressed, and compared against its original at display size.
- Formats converted as the final step; fallbacks produced where needed.
- Delivery link created, key noted, expiry length chosen deliberately.
- One delivered file opened and checked end to end before anyone is told it is ready.
Resize a batch to the sizes you actually publish.
Preset social, ad and web sizes, or set your own. Everything is processed on your device — nothing is uploaded to resize it.
Open the Image ResizerQuestions, answered
Asset pipeline questions, answered.
Clear answers for choosing, converting, and publishing the right image format.
