SHORT ANSWER
Use nearest-neighbor scaling at a whole-number factor (2×, 3×, 4×, 8×). Never bilinear, bicubic or an AI upscaler. Our free tool does exactly this in your browser.
1. Why it gets blurry
A normal resize (bilinear, bicubic, Lanczos) has to invent the new pixels. It does that by averaging the colours around each one. For photos that looks smooth. For pixel art, every hard edge becomes a soft gradient, and dark outlines bleed into the colours next to them. Drag the line to compare:
2. Nearest-neighbor keeps every edge
Nearest-neighbor doesn't average anything. Each new pixel simply copies the closest original pixel. At 4×, every source pixel becomes an exact 4×4 block of the same colour, so the art stays exactly as drawn, just bigger.
3. Use whole numbers only
Nearest-neighbor at a fractional factor like 2.5× can't split a pixel in half. Some source pixels become 2 pixels wide and others 3, so lines wobble and checker patterns look uneven. Whole numbers give every pixel the same size.
4. The setting in your tool
| TOOL | SETTING |
|---|---|
| Photoshop | Image › Image Size › Resample: Nearest Neighbor (hard edges) |
| Aseprite | Sprite › Sprite Size, or export with a whole-number scale (200%, 400%) |
| Godot 4 | Project Settings › Rendering › Textures › Canvas Textures › Default Texture Filter: Nearest |
| Unity | Sprite import settings: Filter Mode Point (no filter), Compression None |
| GameMaker | Game Options › Graphics: turn off “Interpolate colours between pixels” |
| Phaser | Game config: pixelArt: true |
| CSS / web | image-rendering: pixelated on the <img> or <canvas> |
In game engines, also keep the camera at whole-number zoom levels; otherwise the engine rescales your crisp sprites at a fractional factor at runtime.
5. What about AI upscalers?
AI upscalers are trained on photos and illustrations to add detail and smooth curves. On pixel art that means rounded corners, invented textures and lost single-pixel details. They are useful if you want a repainted, high-resolution version of a pixel-art scene, but not to make your sprites bigger.
TRY IT ON YOUR SPRITE
2×, 4× or 8×, exact pixels, free, and your image never leaves your device.
Open the Pixel Art upscaler →