Skip to content
Run here 100% in your browser, no upload, no login

Pixel Art Editor

Draw pixel art on an 8, 16 or 32 grid and export a sharp PNG at 2x or 4x.

Presets

Changing the grid size starts a new drawing. Everything is drawn on a canvas in your browser. Empty cells are exported as transparent pixels.

How to use it

  1. Choose a grid size: 8x8 for icons, 16x16 for sprites, 32x32 for more detail.
  2. Pick a color from the picker or from the preset row.
  3. Select a tool. The pencil paints as you drag, the eraser clears cells, and fill replaces every connected cell of the same color.
  4. Toggle grid lines off when you want to see the finished image without the guides.
  5. Click Export PNG and download the result at 1x, 2x or 4x. The export has no grid lines even when they are shown.

Common use cases

Why it stays private

Every stroke is stored in an array in the page and drawn on a canvas. There is no account, no server and no telemetry, so your drawing never leaves the browser tab.

FAQ

Q: Does the exported PNG include the grid lines? A: No. The export is drawn on a separate canvas without guides, and it keeps the transparent background of cells you never painted.

Q: Why does changing the grid size clear my drawing? A: The stored cells are indexed by position, and a different grid means a different set of positions. Changing the size starts a new drawing instead of resampling.

Q: Can I use it for larger images? A: It is built for small sprite work on 8x8, 16x16 and 32x32 grids. Large illustrations belong in a full drawing app.

Q: Is there an undo shortcut? A: Not yet. Use the eraser or flood fill to fix a mistake; the two together cover most corrections on a grid this small.

Your data stays on this device

Pixel Art Editor runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.

Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.