UNITY · POINT FILTER & PPU
Upscale Unity pixel art without blur.
Start with Point filtering and a Pixel Perfect Camera for crisp in-game sprites. When you need a larger PNG, scale it at 2×, 4× or 8× below and calculate cell sizes and PPU from the actual output.
or drop it here, or paste with Ctrl/⌘ + V
PNG, JPEG, WebP or GIF · up to 10 MB · never uploaded
Use a lossless PNG for clean pixel art. JPEG and lossy WebP artifacts are preserved. GIF uses its first frame only. Output is a static PNG.
Original CC0 sprite sheet · 64×32 px · 16×16 px frames.
Sprite Sheet Grid & Slice Calculator
Calculations use your uploaded image and the latest successfully generated PNG.
Uniform grids only. Padding and spacing are not supported; packed atlases and animation metadata are not read. Enter each original frame’s size.
New PPU = original PPU × actual factor. This keeps the same size in Unity world units.
Upload a sheet and generate a PNG to calculate settings.
Godot 4 Sprite2D
Unity Sprite Editor
1. Check the original PNG's import settings
- Select the original PNG in Unity's Project window.
- Set Texture Type to
Sprite (2D and UI), and Sprite Mode toSingleorMultiplefor a sheet. - Set Filter Mode to
Point (no filter)and Compression toNone; check platform overrides as well. - Keep Pixels Per Unit consistent with your project, then click Apply.
Unity documents Point filtering and uncompressed sprite textures in its pixel-perfect sprite setup. File enlargement is optional; it is not a prerequisite for sharp rendering.
2. Check the camera before changing texture size
Use a Pixel Perfect Camera suited to your render pipeline. In Unity 6 URP it is provided by URP; the separate 2D Pixel Perfect package is for the Built-In Render Pipeline. Match Asset Pixels Per Unit to your sprites and choose your intended Reference Resolution. Review cropping and grid snapping at the actual target window sizes. See the Unity camera reference.
A sprite that is sharp at rest but jitters in motion needs a camera and movement check. Atlas bleeding needs a separate check of slice rectangles, padding, filtering and mipmaps. A larger PNG alone does not resolve either issue.
3. Preserve world size when you enlarge a sprite
Unity defines PPU as image pixels per world unit. To keep the same world size after enlargement, use new PPU = original PPU × scale factor. Do not substitute the frame height for the original PPU. See Unity's PPU definition.
- A 16-pixel-wide sprite at PPU 100 is 0.16 world units wide.
- At 4× it becomes 64 pixels wide; PPU 400 keeps it at 0.16 world units.
- PPU 64 would make that sprite 1 world unit wide, changing its size.
If you replace all project sprites with enlarged copies, review the camera's Asset PPU and Reference Resolution together so the visible world area stays consistent. Mixing native and enlarged assets also needs a deliberate shared pixel grid.
Try a sheet with known frame dimensions
The original example PNG is 64×32: four columns, two rows and eight 16×16 cells. Its 4× version is 256×128 with 64×64 cells. Set Sprite Mode: Multiple, open Sprite Editor > Slice > Grid By Cell Size, and use 64×64 for the enlarged sheet. The eight-frame count stays the same.
The download is a static image containing eight cells, not an animated file. Recreate timing, clips, names, tags and pivots in your project; PNG export does not carry that metadata. For padded or irregular atlases, scale offsets and spacing too and verify each slice rather than assuming a tightly packed grid.
Tools and tutorials
Open the Sprite Sheet Upscaler for the general workflow, read how nearest-neighbor enlargement works, or compare Godot's native filtering and viewport settings.
? QUESTIONS
- Why are my pixel art sprites blurry in Unity?
- Unity defaults to Bilinear texture filtering and lossy compression. In Texture Inspector, set Filter Mode to Point (no filter) and Compression to None.
- How does upscaling affect Unity Pixels Per Unit (PPU)?
- New PPU = original PPU × the actual scale factor. For example, a 16-pixel sprite at PPU 100 enlarged 4× becomes 64 pixels at PPU 400, keeping the same world-space size. PPU is independent of frame width.
- Can I slice upscaled sprite sheets in Unity Sprite Editor?
- Yes, for a regular grid: multiply cell dimensions, offsets and padding by the actual factor before using Grid By Cell Size. Point filtering and atlas padding still matter for runtime bleeding.
- Are my game assets uploaded to any server?
- No. Image processing runs 100% in your local browser using client-side canvas. Your unreleased Unity game assets never leave your computer.