57 · Rendering · 2D pixel art

Pixel-perfect rendering

Crisp pixel art instead of blurry or wobbly pixels.

Pixel art gets ruined in two ways. Smoothing filters blur it, and scaling by uneven amounts like 2.5x makes some pixels wider than others. Moving sprites by fractions of a pixel adds shimmer. Nearest-neighbour filtering, whole-number scaling and snapping positions to the pixel grid keep it crisp.

←→ moveP pixel-perfect on/off◀ ▶ to walk

Try this: Walk slowly left and right. At a 3.37× scale with sub-pixel positions the hero blurs and shimmers. Turn on Pixel-perfect: a whole-number scale and snapped position keep every pixel crisp.

Walk slowly and watch the edges: pixels blur and change width from frame to frame.

Prompt bit

Works for 2D or 3D in any engine (Unity, Unreal, Godot, web). Paste the short one for a quick fix, or the detailed one when you want it done properly.

Render pixel art crisply: nearest-neighbour filtering on every sprite, a low-resolution render target upscaled by the largest whole number (3x, never 3.25x) with letterboxing, and sprite positions snapped to whole pixels each frame, while the camera itself can still move smoothly.

41 words · one sentence to paste as is

Where it's used

Common mistakes

Leaving bilinear filtering on (blurry), scaling by 1.5x or 2.5x (uneven pixel sizes), moving sprites by fractions of a pixel (shimmer), and mixing high-res UI and pixel art on the same grid without a plan.

Writing this with an AI assistant? See our best AI coding assistants for game developers.

Missing a concept? Request one.

Related concepts

New concepts, in your inbox.

One short email when we add new concepts, plus our weekly roundup of AI tools for game devs. Unsubscribe any time.