Skip to content
@PixelZoom-Team

PixelZoom

PixelZoom - Lossless pixel art resizing

PixelZoom

Lossless pixel art resizing — at fractional scales, not just whole numbers.

pixelzoom.app · Paper (Applied Sciences) · Buy me a coffee


What it does

A piece of pixel art is not a bitmap of independent pixels. It is a small grid of dots that someone enlarged — every visual dot is a square block of identical size.

Bilinear and bicubic interpolation blur the hard edges that define pixel art, so nearest-neighbour is the usual answer. But nearest-neighbour alone is not enough. At a fractional scale it has to round each dot independently, so some dots come out a pixel wider than their neighbours and the grid stops being uniform. This is what people call pixel wobble.

Scaling a block-size-2 sprite by 1.25× Dot widths
Plain nearest-neighbour 3, 2, 3, 2, 3, 2 — uneven
PixelZoom 3, 3, 3, 3, 3, 3 — identical

PixelZoom finds the intrinsic block size of the artwork, reduces it to the minimum unit image in which one visual dot occupies exactly one real pixel, and then multiplies that by a whole number of pixels per dot. The requested scale picks the nearest whole number, so the output always lands on an exact multiple of the dot grid — and every dot stays exactly square.

Not every image is sound pixel art, and the service says so rather than pretending: it offers to trim background margins that hide the grid, and falls back to plain nearest-neighbour with a clear label when no block size exists.

No account, no cookies, no analytics. Uploaded images are analysed in memory and never stored, and the resizing itself runs in your browser.

Research

Structure-Aware Pixel Art Scaling via Block Size Detection Jun Won Seo, Jun Won Lee, Jong Hyuck Lee, Jun Beom Kim, Jin-Woo Jung Applied Sciences 16(5), 2314 (2026) · doi:10.3390/app16052314

The project began as an undergraduate team design assignment in a Human-Computer Interaction course at Dongguk University, and the block-size detection idea was taken up by the HRI Lab and developed into a peer-reviewed paper.

The paper carries what this service only summarises: the mathematical definition of pixel art and of sound pixel art, the full pseudocode for minimum unit detection, and the evaluation metrics used to prove the algorithm's integrity — colour loss, block size consistency, and reversibility.

Repositories

Repository What it is
pixelzoom-web The live service. A monorepo: FastAPI on AWS Lambda for detection, React for the resizing itself, Terraform for the infrastructure. This is where development happens
pixelzoom-frontend-archived The original prototype frontend. Superseded by frontend/ in the monorepo
pixelzoom-backend-archived The original prototype backend. Superseded by backend/ in the monorepo
Coldlapse/PixelZoom The core algorithm as a CLI, plus the paper and presentation materials. Kept outside this organization on purpose — the paper's DOI points at it, and research output has a different lifecycle from a running service

The service splits the work: the server only detects the block structure and reports what it found, while the browser does the actual resizing on a canvas. The two paths were verified to produce bit-identical results, so nothing is lost by doing it locally — and the uploaded image never has to travel back down the wire.

People

Role
Web service — development and deployment Coldlapse Jun Won Seo
Prototype — frontend Jhcki222 Jong Hyuck Lee
Prototype — backend LJW0907 Jun Won Lee
Prototype — backend Semitigerx Jun Beom Kim
Infrastructure architecture — advisory PokingTeemo Yoon Sub Jung

And Professor Jin-Woo Jung, who secured the research funding that made this work possible and gave the project unstinting support, and everyone at the HRI Lab we worked alongside.

Support

PixelZoom is free and runs on a personal AWS account. If it saved you some time:

Buy me a coffee

Pinned Loading

  1. pixelzoom-web pixelzoom-web Public

    Lossless pixel art resizing. Live at pixelzoom.app

    JavaScript

Repositories

Showing 4 of 4 repositories

Top languages

Loading…

Most used topics

Loading…