- Easy to use: modern UI with a strong focus on ease-of-use and quality-of-life features.
- Universal and agnostic: compatible with all languages (not only Haxe) and game frameworks in the world (learn more)
- JSON: easy to parse file format for any game-engine out there (I promise it’s actually really easy). Haxe isn’t required.
- Customizable layers: Integer grid layers, Tile layers and Entity layers support
- Auto-layers: paint your collision map and see the grass, textures and all the small details being drawn automatically!
- Entities: fully customizable Entity with custom properties (ex: you can have a “Mob” entity, with a “hitPoints” field, which is an Integer limited to [0,10] bounds).
- Enums: you can define an enumeration (ex: an “ItemType” enum with “Money”, “Ammo”, “Gun” values) and use this enum in your entity custom fields.
- External enums: enums can be imported and synced directly from Haxe source code files (HX file)!
- HTML5: LDtk is built around modern web standards.
- Auto update: you get notified as soon as a stable update is released and it’s up to you to install it when you’re ready, with a single click.

I know: for every new tool out there, there is this moment when you need to write the importer for your favorite game engine.
I’ve been there too, so LDtk offers a Super simple export option. Enable it and you will get:
- One PNG per layer in each level
- A composite” PNG per level (ie. all layers merged together)
- A very simple, straightforward and optional JSON file per level, if you want to access your Entities data or other information.