Pixel Art Upscaler - Integer Scaling with Sharp Edges
Enlarge pixel art 1 to 20 times with nearest-neighbor sampling: every cell becomes a larger square, with no interpolation and no softened edges.
Drop image here · Supports 1-20x upscaling
- 1–20
- integer zoom
- 0
- uploads (runs in the browser)
What the upscaler does
A pixel art upscaler copies each existing pixel into an N×N block of the same color, so the output is N times larger while the content stays pixel-for-pixel identical. That method is nearest-neighbor sampling: it replicates, it does not blend, so the edges of every square stay straight.
Ordinary image enlargement uses bilinear or bicubic interpolation, computing intermediate colors from neighboring pixels, which softens every edge. Run pixel art through that and clean color blocks gain a halo of in-between tones; getting back to a pixel look then requires quantizing the image again. Because the damage is baked into every future copy, it is worth keeping an untouched original and scaling from that file only, instead of scaling a scaled screenshot.
Specifications and limits
Four items define how the enlargement behaves:
| Algorithm | Nearest-neighbor replication at integer scale, with no intermediate colors. |
|---|---|
| Scale range | 1x to 20x, integers only. 1x is useful for comparing against the source; 2x, 4x and 8x cover most display needs. |
| Maximum side length | Bounded by the browser canvas: 32767 pixels per side, dropping to 16384 pixels when the larger size is unavailable. |
| Output | A PNG with its alpha channel intact, named with the scale factor (for example upscaled-4x). |
The limit applies per side, not to total area: a 1000×1000 image at 20x becomes 20000×20000, past the 16384 fallback, so either shrink the source or lower the factor first.
Scale factors and output sizes
The output side length is the input side length multiplied by the factor. The table puts common factors next to three input sizes so you can estimate memory before starting:
| Scale | 16×16 input | 32×32 input | 64×64 input |
|---|---|---|---|
| 2× | 32×32 | 64×64 | 128×128 |
| 4× | 64×64 | 128×128 | 256×256 |
| 8× | 128×128 | 256×256 | 512×512 |
| 10× | 160×160 | 320×320 | 640×640 |
| 20× | 320×320 | 640×640 | 1280×1280 |
Doubling the side length quadruples the pixel count. At 20x the side is 20 times longer but the pixel count is 400 times larger, which is exactly where browser canvas and memory pressure appear.
Five steps to enlarge an image
- 1
Select or drop an image
Common image formats are accepted. Prefer the original pixel asset over a screenshot: screenshots have usually been compressed and resampled by a platform, so enlarging them produces uneven blocks.
- 2
Set the scale factor
Start at 1x to confirm the baseline, then raise the factor to the display size you need. Only integer factors keep every source pixel the same size; a fractional factor produces columns and rows of different widths.
- 3
Compare source and result
View the source and the result side by side and confirm that edges are clean right angles rather than gray fringes. Visible soft transitions mean the source was already interpolated at some earlier point, so go back to the original file instead of enlarging a screenshot that has lost its grid.
- 4
Check the size limit
Multiply the source side length by the factor. Near 16384 or 32767, lower the factor first. When the target exceeds the canvas limit the tool reports it instead of producing a blank image.
- 5
Download the PNG
The downloaded PNG keeps transparency and can go straight into design files, documents or a game project. To change the pixel content itself, take it back to the pixel art generator or the editor.
Good and bad sources
Good: icons and pixel characters
Icons, sprites and characters from 16×16 to 64×64 stay hard-edged squares after enlargement, which suits display images, tutorial illustrations and print assets. Keep the source file small and enlarge it at the very end, because scaling up and then editing means every brush stroke lands on a 20×20 block instead of a single pixel.
Good: bead pattern screenshots
Enlarging an exported pattern image scales grid lines and color blocks together, which helps when projecting it or pinning it to a wall while you bead. For re-layout, export again from the editor rather than enlarging a screenshot.
Poor: photos and gradients
A photo has no real pixel grid, so enlarging it only produces large color blocks and the detail never returns. To get a pixel look, reduce resolution and quantize colors in the pixel art generator first.
Related pages
Frequently asked questions
Why is the result still blocky instead of sharper?
Pixel art gets its clarity from block edges, not from extra detail. Nearest-neighbor enlargement copies each block larger, so it looks sharp, but it cannot invent pixels the source never had. More detail requires redrawing or reconverting at a finer grid, not a bigger multiplier.
What is the maximum scale factor?
1x to 20x, integers only. Fractional factors would copy different source pixels into columns of different widths, producing uneven cells, so they are not offered. For display purposes 4x or 8x is usually enough.
Why does the tool report a canvas size limit?
A browser canvas supports roughly 32767 pixels per side, and some environments only 16384. The output side is the source side multiplied by the factor, so past that value memory cannot be allocated and the tool stops with a message rather than exporting a partial image. Lower the factor, split the source into tiles, or crop it first.
Is the transparent background preserved?
Yes. Enlargement copies pixel colors including alpha, so the exported PNG keeps its transparency and can be layered over anything. If the source has semi-transparent edges, those pixels also become full squares, just with the same partial opacity.
Can the enlarged image be used as a bead pattern?
No. Scaling changes dimensions only; cells carry no color codes, no color chart and no bead counts, so a pattern built from it cannot be checked against the beads you own. For beading, quantize the image to a brand palette in the bead pattern generator, or open an existing pattern in the editor to read its codes and totals before you buy anything.
Is my image uploaded anywhere?
No. Loading, scaling and downloading all run in the browser on a canvas, so the file never leaves your device and no copy remains after you close the page. Large images consume local memory, which is why high factors can trigger an out-of-memory message.
What format is the download?
PNG, with the factor in the filename such as upscaled-4x so different versions of one image stay distinguishable. If you need JPG or WebP, convert the download afterwards, remembering that JPG cannot store transparency and may add compression artifacts around hard color blocks, which is exactly what pixel art does not want.
Are jagged edges a bug?
No. Jagged edges are the pixel blocks themselves and are the expected look of pixel art. What deserves attention is a gray fringe or gradient along an edge, which means the source was interpolated earlier; go back to an uncompressed original before enlarging.
Select an image to enlarge
Enlarge pixel art 1x to 20x in the browser with nearest-neighbor sampling, exported as a transparent PNG, with no upload of the source image.
Convert a photo into pixel art first