A downloadable level editor for Windows, macOS, and Linux

Download NowName your own price

A modern 2D level editor
from the director of Dead Cells.

Fast. Free. Open source.

LDtk is my dream level editor, built from 20+ years of experience creating video games.

It delivers all the important features in a modern and user-friendly interface.

šŸŒ Website | šŸ’¬ Discord | šŸ“– Documentation

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 (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.

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.


StatusIn development
CategoryTool
PlatformsWindows, macOS, Linux
Rating
Rated 4.9 out of 5 stars
(142 total ratings)
AuthorDeepnight Games
Made withHaxe
Tags2D, gamedev, haxe, Level Editor
Code licenseMIT License
Average sessionDays or more
LanguagesEnglish
InputsKeyboard, Mouse
LinksHomepage, Twitter/X, Blog

Download

Download NowName your own price

Click download now to get access to the following files:

Windows 64 bits and 32 bits 159 MB
Version 1.5.3
macOS (experimental) 168 MB
Linux Ubuntu (experimental) 108 MB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

Viewing most recent comments 1 to 40 of 59 Ā· Next page Ā· Last page

Any updates planned for this?

Hello, I liked the idea of the program, but I want a Linux version AppImage

(1 edit)

Does this work with gamemaker?

(+1)

Hi, Just a Note for any one having a BLACK SCREEN :
run the editor in compatibility mode for Windows Vista and it will should work just fine

(+2)

This is a fantastic tool.  Have used it in the past and I'm still impressed by the effort that goes into it.  The super simple export is a particularly good new feature that I'm betting will see lots of use in my games.

(+2)

So good. Thank you for making this. Splits up my design work. Creative level design first, and then I can do the coding later. Brilliant.

(+2)

the assets inside it. Especificaly the NuclearBlaze assets can be used in another project?

Sure!

(+1)

I unfortunately get the following error message when starting the latest version:

"the procedure entry point DiscardVirtualMemory could not be located in the dynamic link library kernel32.dll."

(+1)

Did some checking ... need version 1.25, 1.3+ dropped support for Windows 7 ...
Have the same issue, and this was the answer from M$.

(+1)

.png

(+3)

This is not running on my windows 10 PC, it starts but screen stays black.

(+2)(-1)

Hi! Sorry about that, LDtk should work just fine with Win10. Are your graphic card drivers up-to-date? Maybe try fully uninstalling LDtk then re-installing?

Graphic Drivers are up to date i did the uninstall and reinstall, i used revo uninstaller , I also tried running as admin, still wont pass the black screen. I did not have this issue with previous versions of LDtk, I was not sure if I was the only one, thank you for the response , I enjoy the product, when i go to run it...this is all that happens, https://gyazo.com/b5b07e5b0810d704118c6e58c4c74f3b.

You may want to check the content of the LDtk log file to see if anything weird happens there:

  • hit WIN-R,
  • enter %appdata%\LDtk
  • open the logs folder
  • open the ldtk.log file

[BOOT]         2023-09-30 10:23:56   App started

[BOOT]         2023-09-30 10:23:56   Version: 1.4.1-64bits (build 471015)

[BOOT]         2023-09-30 10:23:56   ExePath: C:/Users/Administrator/AppData/Local/Programs/ldtk

[BOOT]         2023-09-30 10:23:56   Assets: C:/Users/Administrator/AppData/Local/Programs/ldtk/resources/app.asar/assets

[BOOT]         2023-09-30 10:23:56   ExtraFiles: C:/Users/Administrator/AppData/Local/Programs/ldtk/extraFiles

[BOOT]         2023-09-30 10:23:56   CWD: C:\Users\Administrator\AppData\Local\Programs\ldtk\

[BOOT]         2023-09-30 10:23:56   Display: 1536x864

[BOOT]         2023-09-30 10:23:56   Args: soloValues=[], args=[]

[FILE]         2023-09-30 10:23:56   Loading settings from C:/Users/Administrator/AppData/Roaming/LDtk/settings...

[WARNING]      2023-09-30 10:23:56     -> New settings

[BOOT]         2023-09-30 10:23:56   AppZoomFactor: 1

[BOOT]         2023-09-30 10:23:56   Calling appReady...

[UPDATE]       2023-09-30 10:23:56   Looking for update

[BOOT]         2023-09-30 10:23:59   Start args: path=null levelIndex=null

[BOOT]         2023-09-30 10:23:59   Loading Home...


It never gets past Loading Home just the black screen.

I see nothing wrong in the log šŸ¤” Specifically, nothing really special happens at the point it stops. Do you have anything worth mentioning on your setup? Like a dual GPU as in laptops (eg. Intel + Nvidia), or an app that could interfere with LDtk (antivirus, security app) etc.

I use windows defender...Malwarebytes and tinywall ( turned Malwarebytes off and tinywall to no avail). I ran cpu-z and took a gyazo of my processor and gpu stats.  Its a curious glitch. Ty for investigating , I appreciate the feedback.

https://gyazo.com/0e96230557692482058ab1e701e37150

https://gyazo.com/951fb388d1b6909b983caa33d04e0ade

(+2)

Is there autotiling?

yes

(+1)

can this work for godot?

(+1)

Yes :)
https://ldtk.io/api/#Godot

(+3)

Can this be used with Isometric tiles? My guess is no.

(+1)

Quick question, everytime I save my level the memory of the LDtk Helper process on M1 mac goes up 1GB. Starts at about 1GB then goes up each save. The total of the LDtk directory isn't large, maybe 5MB. I use about 12 layers. I have 2 levels in world @ 4096 pixels. It's starting to chug though. Any ideas?


(+2)

Thanks for the update!! Super!

(+1)

H U G E

(+1)

Great product, is it possible to export specific layers though?

You can use either the Super Simple Export option from the Project settings panel (P shortcut), or enable PNG exports.

I had a go, how would I leave some layers out of the all in one png export though?

Great asset! I think decorator layers where you can select a portion of a tilemaps or take any individual image and stamp it at ANY position (not locked to the tileset) would catapult the versatility of the tool!

(+4)

I love it, works PERFECT!!! Except one thing...

You need to add tile collisions. Like the ones in tiled, where you can select certain tiles, give then a tag, draw a custom hitbox(if the default square wont cut it), and export into the game platform, where it will detect and use the collisions.

Here is the gdevelop forum on this, in case you want proof people need this

Yes!! We need this T_T

(2 edits) (+2)

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.

(+2)

Thanks for the feedback! The best way to submit suggestions is using GitHub issues here: https://github.com/deepnight/ldtk/issues

About these points:

  1. this should be fixed at one point, when Iā€™ll complete this issue (because itā€™s somehow related internally): https://github.com/deepnight/ldtk/issues/768

  2. this could totally be done, feel free to submit an issue about this one :)

  3. current custom commands were quickly (and poorly) implemented: it should be reworked for next update, including adding variable arguments.

  4. For now, thereā€™s no plan about moving these settings to another file, as this could break all existing importers easily. Unless the change is really needed, I tend to be very careful about implemented JSON parsing breakers. In this case, I donā€™t think the benefit would be relevant (weā€™re talking about removing a few kilobytes at most)

(+1)

Thanks for the reply! I'm glad to hear that you are already working on those features already.
As for point 2, I've submitted an issue here https://github.com/deepnight/ldtk/issues/842 .

I'm looking forward for an update when ready <3 

(+1)

It's compatible with Game Maker Studio 2?

(+1)

Yes but with not all features but the essentials one.
Try this one : https://github.com/evolutionleo/LDtkParser

(+1)

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?

Deleted post

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

(+1)

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

It's not so simple but look at this one : https://github.com/Ailwuful/LDtk-Room_builder#readme

what about Godot?

Maybe this is what you are looking for:
https://ldtk.io/api/#Godot

(+1)

does it work for construct 2

(+1)

dus it work for gdivelop

(+1)

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 2 years ago
(-3)

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

(+3)

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 ;)

(+1)

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!

(+1)

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)

(+1)(-7)

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

can you add a portable version for 64bit only?

thanks

(+5)

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

(+1)(-23)

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)

(+5)

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.

(+5)

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.

selfishness

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 3 years ago
(+4)

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) (+8)

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

Viewing most recent comments 1 to 40 of 59 Ā· Next page Ā· Last page