pngtoolskit.org
PNG and image utilities, in the browser
Say hi →

Upscale Pixel Art Without Blurring

nearest-neighbour · 2× to 32× · perfectly crisp squares · batch

Every normal image resizer blurs pixel art, because interpolation is exactly the wrong idea when each pixel is a deliberate decision. This one duplicates pixels instead of blending them — a 32×32 sprite at 16× becomes a clean 512×512 image where every original pixel is a perfect square.

Drop sprites or pixel art here

Multiple files allowed

    no files
    Ready.

    Why integer factors only

    At a whole-number factor every source pixel maps to an exact block of output pixels — 4× gives each one a 4×4 square, and the grid stays perfectly regular. At a fractional factor like 2.5× some pixels would get a 2-wide block and others 3-wide, producing visibly uneven rows and columns. That unevenness is far more noticeable in pixel art than in a photograph, so this tool only offers integers.

    If you need a specific output width that isn't a clean multiple, upscale to the next factor up and then pad or crop with Canvas size, rather than scaling to the awkward number directly.

    What this is for

    Sprite sheets and tilesets you want to inspect or present at a usable size. Game assets going into a store listing or a press kit. Small icons that need to appear in a slide deck without turning to mush. Retro screenshots for an article. Anywhere the pixel grid is part of the point.

    Note that display is often the real fix: in CSS, image-rendering: pixelated makes a browser scale a small PNG this exact way with no new file at all. Upscaling to a file matters when you're handing the image to something that doesn't offer that control — a print workflow, a slide deck, a social platform, an app store.

    For photographs and other continuous-tone images this is the wrong tool: the output will look blocky and harsh. Use Upscale, which interpolates smoothly.

    FAQ

    Does it change the colours at all?

    No. Nearest-neighbour copies exact pixel values, so the palette is preserved perfectly — no new intermediate colours are introduced.

    Is transparency kept sharp?

    Yes. Alpha is copied along with colour, so a hard-edged transparent border stays hard-edged instead of gaining a soft halo.

    Can it do HQx or xBRZ-style smart scaling?

    No — those algorithms detect edges and reshape them, which is a different and much more opinionated transformation. This is plain pixel duplication, which is what "keep it exactly as drawn, just bigger" means.

    Will 32× produce a huge file?

    Huge dimensions, but not necessarily a huge file — large blocks of identical colour compress extremely well in PNG. A 32×32 sprite at 32× is 1024×1024 and usually only a few kilobytes.

    Can I downscale pixel art here?

    Not with this tool, and be careful in general: shrinking pixel art below its native size destroys it. If you must, do it at exact integer divisions.