keepcalculator

06 Numbers and Powers

Resize Pixel Art: How to Scale Without Blur

Card No. 06·13055 · Updated · Standard formula, shown below

New width (px) 64 px
New height (px)
64 px
Result
Total pixels
4,096 px
Result
Original width (px)
16 px
You entered
You enter
Original width (px), Original height (px), Scale factor
You get
New width (px), New height (px), Total pixels
Rounding
0 dp

Resizing pixel art without ruining it means scaling it in whole-number multiples using “nearest neighbor” interpolation, not the smooth resampling used for photos. This article explains exactly how to do that in common editing programs, why it works, and what to do when you need non-integer sizes.

Formula

New width = Original width × Scale factor
New height = Original height × Scale factor
Total pixels = New width × New height

Where:

  • Original width/height – the pixel dimensions of your source image (px).
  • Scale factor – an integer (whole number) like 2, 3, 4, etc. Multiplying by a whole number keeps each original pixel perfectly square.
  • New width/height – the resulting dimensions after scaling (px).

Worked Example

Using the default values: a 16×16 pixel sprite scaled by a factor of 4.

  1. New width = 16 × 4 = 64 px
  2. New height = 16 × 4 = 64 px
  3. Total pixels = 64 × 64 = 4,096 px

The calculator above returns the same results: 64 px, 64 px, and 4,096 total pixels.

Why Nearest Neighbor Is Essential

Pixel art is designed on a grid where each pixel is a deliberate, visible element. When you enlarge it with standard bilinear or bicubic interpolation (the default in most photo editors), the software calculates new pixel colors by blending neighboring pixels. This creates soft edges, halos, and muddy colors – the classic “blurry” look that destroys the crisp, chunky aesthetic.

Nearest neighbor interpolation instead copies the color of the nearest original pixel to each new pixel block. The result is a sharp, pixel-perfect enlargement with no blending. Every original pixel becomes an even square of N×N pixels, preserving the artwork exactly.

How to Resize in Common Tools

Every major editor has a setting for interpolation. Here’s where to find it:

  • Photoshop: Image → Image Size… → set Resample to “Nearest Neighbor (hard edges)”. Enter your new dimensions or a percentage.
  • GIMP: Image → Scale Image… → Interpolation dropdown → select “None” (this is nearest neighbor).
  • MS Paint: Resize → uncheck “Maintain aspect ratio” (or keep it) → select “Nearest Neighbor” under Resampling (available in newer Windows versions).
  • Aseprite: Sprite → Sprite Size… → choose “Nearest Neighbor” from the Resize method.
  • Online tools: Most pixel-art-specific resizers (like Pixel Art Scaler) use nearest neighbor by default. For general online resizers, look for an “interpolation” or “resampling” option.

Always set the interpolation method before entering the new size, as some tools reset it.

What About Non-Integer Scaling?

Sometimes you need a size that isn’t a clean multiple, like scaling a 16×16 sprite to 20×20 (a 1.25× factor). Nearest neighbor will still work, but it will produce uneven pixel sizes – some original pixels become 1×1, others 2×2, creating a slightly irregular look. This is unavoidable without changing the artwork itself.

If you must scale to a non-integer size, the better approach is to first scale up to a large integer multiple (e.g., 16×16 → 64×64), then resize down to the target using nearest neighbor. The intermediate step preserves more of the original pixel structure. However, the cleanest solution is to design the art at the final size from the start.

Common Mistakes and Misconceptions

A frequent mistake is using the default “smooth” or “bicubic” option, then wondering why the art looks fuzzy. Another is scaling down pixel art – shrinking with nearest neighbor will drop pixels unevenly, losing detail. If you must shrink, a slight blur (bilinear) often looks better than nearest neighbor, but the result will never be as crisp as the original.

Some people believe that just increasing the zoom in their viewer resizes the image. Zooming in an editor or game engine is not the same as resizing the file – zoom only changes the display, not the stored pixel data. To actually change the image dimensions, you must use a resize command.

When to Use Other Methods

Nearest neighbor is the right choice for pixel art, but not for everything. If you’re resizing a photograph, a smooth interpolation (bicubic or Lanczos) is necessary to avoid jagged edges. For UI icons that are not pixel art, a 2× or 3× integer scale with nearest neighbor can work, but for fractional scaling (like 1.5×), a smooth method is usually better.

For game development, most engines (Unity, Godot, GameMaker) have a “point” or “nearest” filter setting for sprites. This ensures sprites stay crisp when scaled in-game. Always set the import filter to point/nearest for pixel art assets.

Frequently Asked Questions

Why does my resized pixel art look blurry?

You’re almost certainly using a smoothing interpolation method. Switch to “Nearest Neighbor” (or “None” in GIMP) and resize again. This is the single most common issue.

Can I resize pixel art without losing quality?

Yes, if you scale up by an integer factor (2×, 3×, 4×) using nearest neighbor. The result is pixel-perfect – no quality loss. Scaling down or to non-integer sizes will always lose some detail.

What’s the best scale factor for pixel art?

Any integer works, but 2×, 4×, and 8× are common because they multiply the original evenly. Many artists design at 16×16 or 32×32 and then export at 4× or 8× for display.

Does the file format matter when resizing?

Not for the resizing itself. PNG is recommended for pixel art because it’s lossless and supports transparency. JPEG introduces compression artifacts that can muddy sharp edges.

How do I resize pixel art in CSS for a website?

Use the CSS image-rendering: pixelated; property on the image. This tells the browser to use nearest-neighbor scaling, keeping the art crisp when displayed larger than its native size.

Related

Formula used
in w | Original width (px) | px | 16 | 1 | 10000
in h | Original height (px) | px | 16 | 1 | 10000
in s | Scale factor | - | 4 | 1 | 100
out nw | New width (px) | px | w * s | 0
out nh | New height (px) | px | h * s | 0
out area | Total pixels | px | (w * s) * (h * s) | 0

Each line is one input (in, sel, list) or one result (out: label, unit, formula, decimals). How the calculators work

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.

More cards in this drawer

The whole Numbers and Powers drawer →