Tileset
๐ Move tile (drag to swap)
Click a tile to edit it. Empty tiles show the hex index. Use
[ and ] to step through.
Tick ๐ Move tile to drag a tile onto another and swap their slots.
Palettes
Pick a palette below, then pick a slot and a colour. Or drag a
colour from the NES grid onto any slot anywhere on this page.
Hover shows hex code. Drag a cell onto any slot to assign.
All palettes
Quick start
Keyboard
NES rules
Saving & recovery
Tips / FAQ
๐ฌ Feedback
Welcome โ a 5-step tour
Pick a colour โ press 0 , 1 , 2 , or 3 . Colour 0 is always "transparent / show the universal background".
Draw a tile โ click squares in the big Editing Tile canvas. Use [ / ] to move to the previous / next tile (there are 256).
Choose colours for the palette โ in the Palettes panel, click a slot (e.g. BG0 slot 1) then click a colour in the 64-colour master grid to assign it.
Paint the background โ scroll to Background / Nametable . Pick a mode at the top of the toolbar: ๐ Paint tile stamps the selected tile, ๐จ Paint palette only recolours a 2ร2 block, ๐งฝ Erase resets to tile 0. Try the ๐ Pop-out tileset and ๐จ Pop-out palettes windows for easy picking while you paint.
Preview it โ click ๐ฅ Full preview (or press F ) to see it at real NES size. Press Esc to close.
Hover almost anything in the editor for a tooltip. Everything you do is
auto-saved, so experiment freely โ and Ctrl +Z
(or just Z ) undoes.
Keyboard shortcuts
Colour
0 or ` Pick colour 0 (transparent)
1 2 3 Pick colour 1 / 2 / 3
Shift +clickEyedropper โ pick colour under the cursor
Tiles
[ / ] Previous / next tile in the tileset
โ โ โ โ Move selection around the 16ร16 tileset grid
D Duplicate current tile into the next empty slot
C Copy current tile to clipboard
V Paste clipboard onto current tile
R Rotate 90ยฐ clockwise
H / Shift +H Flip horizontal / vertical
Del / Backspace Clear this tile (zero all 64 pixels)
Undo / redo / save
Z or Ctrl +Z Undo
Y or Ctrl +Shift +Z Redo
Ctrl +S Force save + snapshot
View
F Open / close the full-screen NES preview
G Toggle the fine 8ร8 tile grid on the background
? Show this help
Esc Close any open dialog / preview
Typing in a text box? Shortcuts are ignored there so you can type
freely โ click somewhere else to re-enable them.
NES hardware rules (why the editor limits some things)
256 background tiles max. Every background tile in your game must be one of the 256 slots. Duplicate + flip a tile to make a variant โ it uses a second slot.
4 colours per tile. Each tile can show 4 colour indices (0, 1, 2, 3). Colour 0 is always the universal background.
4 background palettes (BG0โBG3). Each holds 3 colours (slot 0 is shared). One palette per 2ร2 attribute block, not per tile โ see the thicker yellow grid in the background view.
No flip/rotate for BG tiles on hardware. The nametable byte is just a tile index. To show a flipped tree, store a flipped version in a second tile slot. (Sprites can flip via their OAM bit, but not BG.)
Screen is 32ร30 tiles (256ร240 pixels). Scrolling games stitch multiple "screens" together โ pick the layout in the Screens dropdown.
Saving & recovery
Your work is saved to this browser's storage every time you change
anything . Refreshing the page reloads the last-saved version โ so you
can close the tab and come back later without losing anything.
Every 30 seconds a numbered snapshot is kept (last 5 stay around).
Every 5 minutes an emergency backup is written. If you turned on auto-download backups a .json file is also saved to your Downloads folder.
Recoverโฆ in the toolbar lets you roll back to any snapshot or emergency backup. The current project is snapshotted first, so nothing is ever lost in the process.
Export โ JSON save gives you a portable file you can email, commit to git, or keep as a permanent backup.
Export โ my_tiles.txt is the file the Python tile editor reads โ use it to move your art into the cc65 NES build.
Tips & common gotchas
My background has wrong colours in one patch. NES palette is per 2ร2 tile block (the thicker yellow grid). Use the Set palette (drag a rectangle) tool to paint palette indices over an area without changing the tiles.
I want a flipped copy of a tile. Click the tile, press D to duplicate, then flip. The original stays untouched.
My tiles look wrong in the floating window. The floating tileset previews using the currently selected BG palette , so picking a different palette in the ๐จ window recolours every tile preview.
Undo history is gone after I reloaded. Undo is in-memory only. Once you refresh, snapshots (every 30s) are how you go back further.
I accidentally wrote over everything. Open Recoverโฆ โ a snapshot from seconds ago almost certainly has what you want.
โบ Replay on next load
Got it