How to Batch Scale & Optimize Sprites
5 min read · Updated October 2026
Detected sprites rarely come out ready to ship: frames are slightly different sizes, the art needs to be bigger or smaller, or edges are soft. Advanced Processing runs one batch pass over every sprite in your session — scaling, enhancement, and re-encoding with the same settings for all of them — and then either feeds the results straight back into Export & Download or hands you a ZIP.
Open Advanced Processing — free, in your browser, no signup.
The tool works on the sprites already in your session — anything produced by Sprite Detection, the GIF and video converters, or the Pixel Art Editor’s "Send to Session". If the page says "No Sprites Available", run Sprite Detection first (its built-in sample sheet works fine for a test drive).
- Choose a scaling mode. "Scaling Mode" starts on "No Scaling", which keeps original dimensions. "Uniform Scaling" and "Smart Scaling" resize every sprite toward one shared size: tick "Scale to smallest sprite" or "Scale to largest sprite" (largest is pre-selected), and the target box is the smallest or largest width and height across the whole batch. The two modes currently do exactly the same thing. "Custom Size" lets you type an exact "Target Width" and "Target Height" instead.
- Pick the resampling. Once a scaling mode is on, "Resampling" decides how pixels are resized. "Pixel art: keep every pixel sharp" (the default) is nearest-neighbor: every output pixel is a copy of a source pixel, so there’s no blur and no new colors. "Smooth: for painted or photo-based art" uses the browser’s high-quality scaler, which blends neighboring pixels. For pixel art, scale by a whole number (2×, 3×) so every pixel stays the same size.
- Decide how strict the size should be. With "Maintain aspect ratio" ticked, each sprite is fitted inside the target box without distortion — a 32×48 sprite headed for 64×64 comes out 43×64, not stretched and not padded. Untick it if you need every output at exactly the target dimensions and can accept stretching.
- Set quality and format. Sprites are saved as lossless PNG. The "Quality Level" slider (1–100, default 85) only matters if you tick "Remove transparency (convert to JPEG on white)", which flattens every sprite onto a white background and saves it as a JPEG at that quality. Leave it off for game sprites; it suits opaque artwork such as backgrounds or portraits.
- Optionally enhance. The "Advanced" button reveals "Image Enhancement" with two passes: "Edge sharpening" (a 3×3 sharpen filter) and "Noise reduction" (an edge-preserving bilateral filter). Both work with or without scaling and leave transparency as it is. They suit photographic or pre-rendered art; leave them off for pixel art, where nearest-neighbor already keeps edges hard and both filters change deliberately placed colors.
- Process and review. Click "Start Processing"; a progress bar counts through the sprites. When the run finishes you get four stats — Processed, Time, Quality, and Size Reduction — plus thumbnails of the processed sprites (the first 48, then a "+N more" tile). Any sprite that fails is listed under "Processing Errors" with its error and keeps its original in the session; the rest still process normally.
- Apply or download. Two buttons turn the results into output. "Apply to Session" swaps the processed versions into your session, so Export & Download, the Map Editor, and every other tool now work from them — a confirmation banner links straight to Export & Download. "Download ZIP" saves processed-sprites.zip: the processed sprites as individual PNG (or JPEG) files plus a manifest.json listing each sprite’s dimensions, file size, and scale factor.
Note: Applying replaces the sprites in your current session. There is no undo button for it — to get the originals back, run Sprite Detection or Grid Slice on the source sheet again. Downloading the ZIP changes nothing in your session.
Tips
- Each sprite is fitted to the target box on its own, so sprites of different sizes are scaled by different amounts: with "Scale to largest sprite", a small frame is enlarged more than one that nearly fills the box. For animation frames that must keep one scale, cut them to one size first (Grid Slice gives equal cells), then use Custom Size at an exact multiple — 32×32 frames at 64×64 is a clean 2×.
- Your options are remembered for next time; the "Reset" button at the top puts them back to the defaults.
- The quality score is a rough count of edge detail, meant for comparing two runs against each other — don’t read it as a percentage.
- Size Reduction compares against the PNG-encoded size of the input sprites; a negative number means the processed files are larger (normal after upscaling).
- Padding and extrude in Export & Download apply on top of whatever you process here, so apply first, then set bleed options at export time.
Processing in this tool runs entirely in your browser — no sprite ever leaves your machine.
Go deeper
- How to Scale Pixel Art Without Blurring It — Why whole-number scales matter, tested with this tool’s pixel-art resampling.
- PNG, WebP or JPG for Game Sprites? File Size, Quality and Memory Compared — What JPEG does to sprite edges and transparency before you tick "Remove transparency".
- Trimming Transparent Pixels From Sprites: Smaller Sheets Without Jitter — The export-time way to make a sheet smaller, with the offsets engines need.
Related guides
- How to Split a Sprite Sheet into Individual Sprites
- Sprite Sheet Export Formats Explained
- How to Make a Sprite Sheet from Separate Images