A downloadable level editor for Windows, macOS, and Linux

Download NowName your own price

LDtk is a modern 2D level editor specifically created for indies by the Dead Cells lead dev.

💬 Discord | 🌐 Website | 📖 Documentation

Is it free?

Yes it is :) LDtk is "pay what you want, including free".

You're totally free to try and use it without paying anything, and all the things you create with this tool are, obviously, all yours (even for commercial use). At any given time, you can still decide to contribute by paying any price you want for the app.

Super Simple export

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.

All features

  • 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
  • JSON: easy to parse file format for any game-engine out there (I promise it’s actually really easy). Haxe isn’t required.
  • Tiled export: LDtk can export Tiled TMX files for frameworks that only support this format. Note: this feature ONLY exists as a temporary method to load a LDtk project JSON in a game framework that only supports TMX files. It is recommended to just read the LDtk JSON.
  • 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.
  • LDtk loves Haxe: a powerful Haxe API which gives you access to fully typed values from your levels. It avoids mistakes like mistyping, renaming or removals: you see errors during compilation, not at runtime. For example, having var p = new MyLdtkProject(), you can do things like p.all_levels.MyIntroLevel.all_enemies[0].f_hitPoints.
Updated 18 days ago
StatusIn development
PlatformsWindows, macOS, Linux
Rated 4.9 out of 5 stars
(93 total ratings)
AuthorDeepnight Games
Made withHaxe
Tags2D, gamedev, haxe, Level Editor
Code licenseMIT License
Average sessionDays or more
InputsKeyboard, Mouse
LinksHomepage, Twitter, Blog


Download NowName your own price

Click download now to get access to the following files:

Windows 32 and 64bits 135 MB
Version 1.2.5-
macOS (experimental) 162 MB
Linux Ubuntu (experimental) 91 MB

Development log

View all posts


Log in with itch.io to leave a comment.

(2 edits)

I've always enjoyed using LDTK. I even used it in my last game Katkoot and I'm using it for my current project. It perfectly filled the gap of not having a level editor while working with LÖVE with ease, unlike Tiled which was not so user-friendly.

However, I feel like it misses some tiny features that would make my workflow (and so many others) much easier. Here is a list of the little improvement I would love to see in future versions:

1) Being able to set Coords manually was a big improvement in my opinion, but I think you can push even further by making it that we can move the entities by pixels using arrow keys on keyboard. That would make it much faster to adjust and tweak the position without the need to click on anything. It would be even nicer if you allow us to change the values by simply scrolling with the mouse wheel inside input boxes that can one hold numbers. 

2) Instead of representing entities using a rectangle or an icon set, I would love to be able to select an individual image file from my project that isn't a part of any tileset. So, I will be able to create an entity, then select an image from my computer that isn't necessarily used in LDtk or in any of my defined tileset, and use that to represent my entity in the editor.

3)  I like the idea of custom commands. However, you can't do much with it in its current state. I would love to be able to insert some values to use as arguments in the defined function. I'm talking about something like how you set the "Default level identifiers". So, I should be able to call commands like "run game --ldtk [LEVEL_INDEX]". Also being able to have multiple custom defined shortcuts for multiple commands would be a nice addition, though not necessarily that useful.

4) Move editor/project settings outside the .ldtk or .json to make it shorter. You can have an additional file for those. You can make it optional to keep it or not in the main file.

It's compatible with Game Maker Studio 2?

Maybe I'm just dumb, but for me, setting up autotiling for my top down ground tiles with this was like pulling teeth. With Godot and Unity I just drag the tileset in, select the bitmask areas and it's done. Tiled and LDtk feel like prep-heavy workflows in comparison. Maybe I'm wrong?

it would be very cool if we could move the camera around with the arrow keys

I downloaded the installer for windows and I got the error message saying "LDtk cannot be closed.", even though I don't have it installed on my computer or opened. I looked at the official LDtk website, and I looked to see if this error message was talked about and solved, I even tried to see if it was the amount of memory on my computer, but I found nothing. How do I fix this?

I'm lost for words... it is too good to be true!

Wow you helped make Dead Cells! Its one of my favorite games of all time!

ehm... can it do, "Undo"?

i tried ctrl + z, it does nothing.

It should, but depends on the context: in a level, yes, in a panel, no. 🤔

it doesn't do anything on both level (tilemapping) and panel. Doesn't work on textbox too

I wonder if it's because I'm on linux version


Is there a way to import a .json into gms2 as a room?


does it work for construct 2


dus it work for gdivelop


Hi! i tried downloading it on my personal computer but my computer is a chromebook is there any way to be available on chromebooks? 

Hi, There’s no Chromebook version yet. I don’t know it well: is it a Linux based platform?

Hi again! it is a Linux based platform. Also thanks for replying i also want to be a indie game developer like you. The first game i played that you created was sabotage

Deleted 300 days ago

I'm trying to use the program in my pc but stills like that


Yeah I have same thing last year. try change compatibility to Windows Vista Service Pack 2 on properties. if does not work Sry.

Cool, very useful ;)


Is there any chance you'll implement per-layer tinting? My tileset is currently white since I want to tint it procedurally in the game. It would be great to have an option to tint a layer so I can preview what it looks like in-game, though!


My only gripe is that the tile selector expands to cover the currently-edited level even if the tileset is very small, fitting perfectly into the sidebar as-is.  It's a minor annoyance, but it does disrupt my thought process when editing.  Other than that, this is a really useful tool that I've been enjoying using.

I have a personal question do you like animating if so will you ever make a animating software, anyways keep up the awesome work :D

Can you make games on it or is it just a level designer?

Editor only, exporting to a JSON file in either LDtk or Tilemap's data format.

(2 edits) (+1)

Windows Smart screen blocked the .exe installer :/ a good option will be a portable exe .... Anyway, I just extracted the exe file and searched the app-64 folder lol

I’m in the process of signing the app (but it’s a long & expensive process). In the meanwhile, just click on the “More Info” in the Smart screen window, you’ll be able to bypass it.

That's what i always do (Bypassing smartscreen, not Signing my apps)


why with both 32bit and 64bit in installer, this is not necessary

can you add a portable version for 64bit only?



Not necessary for you or for everyone? It's nice to have the choice for those who need it. Just as portable versions are ;)


i don't care about me, i care about useless bandwidth usage, and useless disk operations

don't ship with waste, it's never a good idea, and gives bad impression about the software, when it's too big, it is a sign of incompetence or unnecessary bloat

there are the people who care:

https://rxi.itch.io/tilekit (250kb)

and the people who don't care:

ldtk: 100mb 7z (184mb for x64 unzipped)


So you would like to see 32bit and 64bit separated? Because as I said: someone might want to have 32bit version.

About the size: I'm with you, a lot of applications are way too big for what they do. Especially the ones that ship a whole Browser to execute themselves ...

Its a sad trend ... But in this case: one version: ~ 75mb second version: 30mb more - should be ok, if you can handle the 75mb download.


Right now, for faster distribution reasons, I only maintain an hybrid 32/64 bits version to maximize support for everyone. It shouldn’t affect anyone, except for some extra 30mb to download, which is… well, not that much imho.

About a portable build, yes, I’d like to have one at some point, but I need to upgrade my auto-updater to support that :)

(1 edit) (+1)(-39)

ok so you don't care at all about the users, that's disappointing to hear only just to save 5 seconds writing the script to zip builds separately, and itch.io has API to upload releases btw, so you could save even more time if you wanted, but i doubt you want, seems you are fine with bloatware (i wouldn't mind if it was 2x 250kb like tilekit i mentioned in other comment, but here it's electron.. but that itself is an other problem, let's stick to the 2x download size issue for now)

> It shouldn’t affect anyone, except for some extra 30mb to download, which is… well, not that much imho.


each 7zip is 50mb, so you waste 50mb shipping useless bloat

50mb for one user

let's say 100k people download your app

that's 5TB of bandwidth wasted, and it's 5TB of avoidable IO operation on people's SSDs

devs need to respect me and my PC

Deleted 1 year ago

Maybe he didn't know about that? Maybe there is some other reason? Maybe he is open to this suggestion if it's delivered in a more civilized manner?

Yes, saving space is nice, but I really appreciate that he supports both versions - even if I personally would not use 32bit version. But thanks that its there!

(6 edits) (+7)

Maybe you need to respect devs providing FOSS a little more?

The combined installer is perfectly economically reasonable. But if the solution to your annoyance would take "5 seconds" to implement as you describe - go submit the damn PR - you've spent many times that in condescending tirades in the comments here.

devs need to respect me and my PC

Just the opposite - no one has less of a prerogative to support "problem users" than an open source developer. Were I the maintainer, I would not be inclined to support your request for it's own sake unless you were financially supporting the project or others also raised the issue.

Very cool! Can't wait to take it or a spin. Thanks for making this FOSS! <3



Windows 10 : ":)"

Microsoft : Get windows 10

It’s exactly what I did recently ;-)

Does it support isometric graphics?

Hi, no LDtk only supports square layout grids.

I see, thanks! I will use it anyways.


The downloaded file for Windows (LDtk 0.9.3 installer.exe) apparently installed correctly under Windows 7 Pro, including a shortcut icon on the Desktop, followed by the Loading splash screen, but next was a black screen displaying just the LDtk logo top left. See screenshot. Same occurs if installing/running as Administrator.

I have this same problem on linux

(1 edit)

Almost the same happened to me, when I execute the installer it goes straight into stalling, installs it and shows a windows that says “asset splash.html/app.html file was not found” or something in those lines, while the “main” LDtk window being transparent and over the whole screen making it impossible to close the error window with the X on the corner, thought I was able to close it by hovering over LDtk on the app bar and closing it in the small preview, but it closed LDtk overall, then if I try to open it gives no errors but happens the exact same that is happening to you, I’ve already reinstalled it 4 times but I still think is my computer,,, I’m on Windows 7 ultimate 32bits, LDtk 0.9.3 installer btw

I’ll just wait the next update :)


Weird the menu wont show up. here is the screenshot.

I have missing something?

Definitely not normal 🤔

  • Did it work before?
  • What version of LDtk do you use?
  • Could you please check the ldtk.log? To find it:
    • press WIN+R keys
    • type %localappdata%
    • in the folder than shows up, open the programs folder
    • open ldtk folder
    • open ldtk.log and mail it to me at ldtk@deepnight.net


I download and install latest version.


Hey Deepnight, it looks like this might be a problem for another user that posted 2 days ago. Perhaps this is a problem that occurs on Windows 7 devices?


Hi! I just want to mention that I have this same problem (am also on Windows 7), and there isn't a ldtk.log file in the directory that you specified. I'm assuming ldtk.log is a crash log file, which would explain why it isn't there, because the program doesn't crash, it just shows an empty screen with no warnings or errors.

Thanks, I’ll try to fix that for 0.9.4 :) There is an open issue here if you want to get notified of any progress done: https://github.com/deepnight/ldtk/issues/498


Sorry about that, I’ll try to fix it in 0.9.4 update. Issue is here: https://github.com/deepnight/ldtk/issues/498

Would this be compatible with Game Maker Studio 2? Id love to try this.


How does any of this work?



Any way you could implement a "color" or "tint" function, per tile? I have some 1-bit tile sets that I'd love to work with, but I don't know any tile-based tools that allow arbitrary coloring, so it's hard to visualize and experiment.


That’s an interesting idea, but coloring can mean various things 🤔 In this case, you meant “to replace the white color by another custom color”, right?

Feel free to open a suggestion issue on GitHub, I’ll have a look :) https://github.com/deepnight/ldtk/issues

Basically like a "Color Overlay" layer in Photoshop. I'll do that, thanks.

is this just for level making? can we also add a player sprite?

You can create Entities with whatever property you’d need. But yes it’s a level editor, not a game engine :)

ok thanks!

HI ! is there any unity implementation 

(2 edits)

Since it saves to JSON, you can use any JSON-to-C# converter (just google it) to create the class, then use your JSON library of choice to load the data very easily.

(2 edits)

Perfect level editor. I hope it gets libGDX framework with Java language support. I think I can still use it though with the .tmx file export and through reading .json files.

Also you don't have to but I would like it if you would advertise the game I make ;)  It will earn us both more money but feel free to say no any time.

Sure, keep me updated on your progress :)

I'm using this to make a game. It will be sold for money, and because this is absolutely godsend, I'm going to split the profit 50/50 with you via PayPal.


Even if I really appreciate your offer, I definitely cannot accept 🙂 I have very strong beliefs on this specific topic, and your game is your creation. And as such, it belongs completely to you. That’s the exact reason I went for a MIT license on LDtk, because I believe creators should earn the full profits of their hard work (not a big fan of Unreal engine business model and such) 👍

LDtk is a tool with a pay-what-you-want model, but in its spirit, it’s intended to be free. My best reward is it to be used by people to make cool games 👌

Thank you!

(1 edit) (+1)

We just love free software!

PS. Infinity Falls Studio
Even though he wont accept your money from sales of your game, if you really want to give Deepnight Games some money, you could take the 50% (or whatever you want) and buy a copy of LDtk and use the "pay-what -you-want" option = you can give as much money as you want. 

Amazing dude! I would love it have a version for win x86 

Thank you :) Let me check if it’s possible to make a x86 build: I’ll keep you updated :)


You can check for a new download on the LDtk page. Tell me if it works for you!


:0 thanks you very much, its working :D i will report any bugs 


This might sound silly but after downloading and trying LDTK out, I've dropped everything else and started learning Haxe + Heap. This map editor is just dope. Thank you man!

(1 edit)

There is a problem: Every time the download is about to finish it throws an error. What will it be?
Anyway, I think it is a great tool, which serves both indie developers and large companies.

Is it the download from itch.io website page? If so, you might try to clear your browser cache (and downloaded files) completely and try again. It looks like some corrupted download file. Also, check that no software is blocking your download for some weird reason 🤔

Yesterday I managed to download it without errors and tested it.
It seems to me ... Incredible, simply incredible!


This application is an absolute godsend for any developer, pixel artist and/or level designer. To get the results that this application produces on a tile by tile basis would literally take weeks. To set rules and have control on the output is not only powerful but this is a real workhorse for simply "getting the job done!"

Awesome application, you are a god amongst men lol :-)


Thanks a lot <3 Glad to hear LDtk was useful to you :) More is coming in future updates!