Tilemap Editor Online — Test Maps Drawn by Godot's Rules
This is a tilemap painter for trying out autotile rules, not a level editor — and it says so. Whatever you paint is resolved the way Godot 4 or Tiled resolves it, so a wrong or missing tile shows up before the art reaches the engine. When the set holds up, export the tileset with its rules and build the real levels in Godot, Tiled, Unity or LDtk.
If you need to build game levels — hand-placed tiles, objects, spawn points, level files — use a level editor: Tiled, LDtk, Godot's own TileMapLayer editor or Sprite Fusion. Nerulio's tilemap is a test painter: you paint terrain, not individual tiles, on a map of 24 × 16 cells by default (up to 128 × 128), and every cell's tile is chosen live by Godot's or Tiled's autotile rule, with each wrong or missing cell outlined. Use it to prove a tileset's rules, then export the tileset (plus a sample map in the Tiled and LDtk bundles) and draw the real levels in the editor your engine reads.

- Godot 4 TileSetVerified· Godot 4.7.2
- TiledVerified· Tiled 1.12.2
- Unity 6 Rule TileVerified· Unity 6000.5.3f1 + 2D Tilemap Extras 8.0.3
- LDtkPartly verified· LDtk 1.5.3 schema + loader
Tileset, tile map, level: what each editor stores
A tileset is the tiles plus the rules that say which one fits where. A tile map is a grid that records which tile sits in each cell. A level adds what the game needs on top: objects, entities, spawn points, properties. Editors differ in which of these you edit by hand.
Nerulio's test map stores only terrain: one character per cell, empty or one of up to 16 terrains. It never stores a tile. The tile you see is worked out again from the rule every time the map changes, and that is exactly what makes it a rule tester — and why you cannot put one particular tile, a flower variant or a sign, into one particular cell.
Tiled, LDtk and Godot store the placed tiles themselves (their autotiling is a tool that writes tiles into the map) and add object layers or entities. Sprite Fusion keeps its own map and writes the chosen tiles into its exports. Each of them is the place where a level lives.
So the two fit together: check the rules on Nerulio's map, export the tileset with its rules — a Godot 4 terrain set, a Tiled Wang set, Unity Rule Tiles or LDtk rules — and keep painting the real levels with the same autotiling inside the editor.
- Tileset
- The tile images and their autotile rules (peering bits, Wang IDs, Rule Tile neighbours).
- Tile map
- Which tile sits in which cell of a layer.
- Level
- A tile map plus objects, entities and properties the game reads.
- Terrain painting
- Painting "grass here" and letting a rule choose the tiles, instead of placing tiles one by one.
What the test map is made for
A new map arrives pre-painted so the rules show at once:
new test map 24 × 16 cells = 384 (resize from 2 × 2 up to 128 × 128)
starter island outer corners and a straight coast → tiles with two or three sides
lake inside it the four inner corners → masks 127, 253, 247, 223
two-wide peninsula a narrow run and its end
2 × 2 islet four outer corners side by side
each cell stores "." (empty) or a … p (terrain 0 … 15), never a tile number
layers one tileset each, e.g. ground plus a second terrain on top
tools brush P (sizes), eraser E, fill G, pick I, random fill, resize, clearEverything on that list is about the rules; there is no object layer, no entity, no property panel and no level export beyond the sample map written into the Tiled and LDtk bundles.
What it does
- The map arrives pre-painted with land, water and a narrow spit, so outer edges and inner corners are on screen before you touch anything.
- You choose which engine decides the tiles: Godot's terrain matcher, ported and compared against Godot 4.7.2 on every painted cell of the corpus, or Tiled's strict Wang lookup.
- Trouble is marked where it happens: a spot the engine would leave empty or fill with a stand-in gets a frame, and pointing at it names the tile and the reason. Unity behaves differently again — it draws the Rule Tile's default sprite wherever a combination is missing.
- Several layers, each tied to its own tileset, so a second terrain or a decoration layer can be tried on the same map.
- What it is not: there are no objects, entities or level properties, and levels are not exported beyond the sample map inside the Tiled and LDtk bundles. For a full map editor, use Sprite Fusion, Tiled or LDtk.
How to do it
- Bring in the autotile sheet and accept the layout the Studio recognised — or paint the terrain bits yourself.
- Switch from the sheet to the map with M and scribble over the ready-made terrain with the brush.
- Try the awkward shapes — single cells, one-tile corridors, diagonal touches — and compare what Godot and Tiled make of them.
- Correct the tileset where the frames point, export with Ctrl+E and carry on in the editor where your levels live.
From test map to real levels
- Paint with the Godot rule and the Tiled rule: when neither outlines a cell on the starter island, a random fill and the shapes your game uses, the rules hold (what the outlines mean).
- Export for your editor. Tiled: open the
.tsxandsample.tmx(Tiled 1.12.2 read every Wang ID as written). LDtk: open the.ldtk(checked against the 1.5.3 schema and loader, not opened in the LDtk app). - Godot 4: run the shipped importer, assign the saved TileSet to a TileMapLayer and paint with the Terrains tab (Godot 4 autotile).
- Paint one of the test shapes in the editor: its tiles should match the test map.
Test-map tools and what each shows
| Tool | Key | What it tells you |
|---|---|---|
| Brush | P (Shift+[ ] size) | Paint terrain and watch the neighbours re-tile as the engine would |
| Eraser | E | Remove terrain to test coast lines, holes and single cells |
| Fill | G | Flood a region to see large inner areas and their borders at once |
| Pick | I | Take the terrain under the cursor |
| Random fill | — | Scatter what the set can draw, to shake out rare combinations |
| Layers · resize · clear | — | Try several tilesets on one map, change the map size, start over |
| Godot rule / Tiled rule | — | Switch the resolver: Godot's matcher or Tiled's exact Wang match |
Troubleshooting
| Symptom | Likely cause | How to check | Fix |
|---|---|---|---|
| You want one particular tile in one cell (a decoration, a variant) | The test map stores terrain, not tiles | The pick tool (I) picks a terrain, never a tile | Place such tiles in Tiled, LDtk or Godot, on a layer above the terrain |
| You need objects, spawn points or per-level properties | The test map has no objects or entities | — | Use LDtk entities or Tiled object layers; Godot scenes place nodes on top of TileMapLayers |
| The level painted in Godot's editor looks different from the test map | Godot's editor paints stroke by stroke and its result depends on stroke order | Repaint the area in one Connect stroke | Nothing to fix in the tileset; see wrong tiles in Godot |
| The map will not grow beyond 128 × 128 | The test map is capped at 128 cells per side | Resize stops at 128 | Test a representative area; build the full level in a level editor |
Other ways to do it
| Option | When it is the better choice |
|---|---|
| Tiled (free, open source, desktop) | Levels with objects, orthogonal, isometric or hexagonal maps, rule-based Automapping, infinite maps, scripting, and exports to JSON, Lua, GameMaker, Defold and more. The exported Wang set keeps the autotiling: Tiled Wang sets. |
| LDtk (free, open source, desktop) | Levels built from IntGrid logic plus entities with typed fields, organised in worlds (Grid-vania, linear or free), with auto-layer rules skinning them; JSON export, optional TMX. See LDtk autotile rules. |
| Godot's TileMapLayer editor | Your game is in Godot: paint with the Terrains tab (Connect or Path mode), one TileMapLayer node per layer, no file round-trip. See Godot 4 autotile. |
| Sprite Fusion (browser) | A quick level in the browser with layers and 3×3 autotile rules, exported with its tiles already chosen to Unity, Godot 3 and 4, Phaser, Defold and others; the web export is capped at 5 MB. Compared in Sprite Fusion vs Nerulio. |
Engine exports and how each was checked
"Verified" means the exported files were loaded by the real engine or tool on real CC0 assets and the result was compared with the source. Anything that was not loaded is labelled as such.
| Target | Files | Check |
|---|---|---|
| Godot 4 TileSet | PNG · nerulio-tileset.json · nerulio_tileset_import.gd | Verified Godot 4.7.2The included import script builds the TileSet with terrain peering bits; a map painted with set_cells_terrain_connect equals the Studio preview in every cell on 9 corpus sheets. |
| Tiled | .tsx Wang set · sample.tmx | Verified Tiled 1.12.2Tiled's own readers load every Wang ID as written and the sample map renders pixel-exact. The terrain brush itself was not driven. |
| Unity 6 Rule Tile | nerulio-ruletile.json · Editor/NerulioRuleTileImporter.cs | Verified Unity 6000.5.3f1 + 2D Tilemap Extras 8.0.3Blob and side sets: a painted Tilemap shows the predicted sprite in every cell. Corner / dual-grid sets are not exported to Unity. |
| LDtk | .ldtk (1.5.3) · rules · sample level | Partly verified LDtk 1.5.3 schema + loaderAccepted by the LDtk JSON schema and its official loader, and the rules re-run to the exported tiles; not opened in the LDtk app. |
Evidence
Layouts identified from the pixels alone on the tile corpus: 4 blob-47 templates and 2 Wang templates with high confidence, a real 64 px cave tileset with medium confidence — every tile's bits right. Godot 4.7.2 painted every test cell exactly as the Studio predicted (485/485 per blob set, 251/251 on a 4-terrain dual-grid pack); Tiled 1.12.2 read every Wang ID back; Unity 6000.5 matched on every painted cell of the blob and side sets.
Limits
- No objects, entities, spawn points or level properties.
- No hand-placed tiles: every tile follows from the terrain and the rule.
- No level export beyond the sample map in the Tiled and LDtk bundles; maps up to 128 × 128 cells, square tiles only.
- Tiled's terrain brush, the LDtk app and Godot's editor painter were not driven; the checks use the engines' readers and set_cells_terrain_connect.
- Unity gets blob and side sets only; several terrains become several Rule Tiles with no transitions between them.
- Isometric and hex tiles, animated tiles, occlusion and navigation layers are out of scope.
- Suggesting bits without a known layout needs a reference "full" tile; on side-only path templates the guess can fail until you select it.
Versions and sources
The test map's behaviour comes from src/studio/workspaces/tile/ (state.js, resolve.js); its Godot rule equalled Godot 4.7.2 cell for cell on the corpus (docs/STUDIO-TILE.md, 2026-09-23). Features of Tiled (1.12.2), LDtk (1.5.3), Godot 4.7 and Sprite Fusion are as their own pages describe them, read on 2026-09-28.
Official documentation used
Questions
Can I build my game's levels here?
Not as a replacement for a level editor. You can paint and resize test maps, but there are no objects, entities or level files. Export the tileset — the Godot TileSet with terrains, the Tiled Wang set, the Unity Rule Tile or LDtk rules — and draw levels in that editor.
Why can the map look different from what Godot's editor paints?
Godot's editor paints stroke by stroke, and its result depends on the order of your strokes. The Studio resolves each terrain in one pass, the way a script calling set_cells_terrain_connect would; resolved that way, Godot 4.7.2 placed all 485 test cells of each blob set exactly as predicted.
Does the Tiled sample map open in Tiled?
Yes. Tiled 1.12.2's own readers load the Wang IDs as written and the sample.tmx renders pixel-exact; the terrain brush itself was not driven. The LDtk file is partly verified: schema, official loader and rules re-run, not opened in the LDtk app.
Is it free, and do I need an account?
Everything on these pages is free and works without an account. There is no watermark and no export that is held back.
Are my sprites uploaded?
No. The Studio decodes, packs and exports in this browser tab. Projects are autosaved in the browser (IndexedDB) and can be saved as a .nerulio file.
Does it need Aseprite or an engine plugin installed?
No. .aseprite files are read and written in the browser, and each engine bundle carries what that engine needs (for Godot, the import settings and scene; for Unity and the Godot TileSet, a small editor script).