A generic tile map editor
C++ Java Python C QMake QML Other
Latest commit 36f4624 Jan 23, 2017 @bjorn Merge branch '0.18'
Failed to load latest commit information.
.tx Added Transifex configuration Jan 27, 2013
dist Windows Installer: Fixed selection of the right MSVC DLL once more Jan 23, 2017
docs docs: Added Tiled Map Importer for the Godot engine Dec 13, 2016
docs_theme docs: Added Atom Feed URL to TMX format related pages Jul 10, 2016
examples Merge branch '0.18' Jan 12, 2017
man tmxrasterizer: Added --size argument and support local file URLs Sep 26, 2016
mime Merge branch 'master' into wip/tilesetdocument Oct 28, 2016
qbs/imports Fix macOS build Dec 7, 2016
src Merge branch '0.18' Jan 23, 2017
tests Added a few maps for testing of error handling Dec 6, 2016
translations add some Chinese translation Jan 23, 2017
util/java Add a basic isometric renderer to libtiled-java (#1401) Dec 6, 2016
.LICENSE-HEADER Update license year to 2016 Jan 17, 2016
.gitattributes Merge branch '0.9' Jul 26, 2013
.gitignore .gitignore updates Nov 30, 2015
.mailmap Update .mailmap file Apr 27, 2013
.travis.yml Travis CI: Update clang build to compile against Qt 5.4.2 Jan 14, 2017
AUTHORS Updated NEWS and AUTHORS files for 0.18 release Dec 20, 2016
COPYING Updated license information in COPYING file Aug 16, 2015
Doxyfile Free up 'docs' directory for actual documentation May 20, 2015
LICENSE.APACHE Replica Island plugin: Read and write *.bin files Mar 11, 2012
LICENSE.BSD Changed the license of libtiled and tmxviewer from GPL to BSD Dec 27, 2010
LICENSE.GPL Updated the GPLv2 license to its latest version Sep 2, 2012
NEWS.md Updated NEWS file and bumped version to 0.18.1 Jan 23, 2017
README.md Some cleanups now that Tiled requires Qt >= 5.4 Jan 13, 2017
appveyor.yml AppVeyor: Use the default environment Dec 20, 2016
mkdocs.yml docs: Added a page about custom properties Mar 25, 2016
tiled.appdata.xml Added keywords to the appdata file Sep 25, 2016
tiled.desktop Added MIME type for tileset files Oct 14, 2016
tiled.pri Updated NEWS file and bumped version to 0.18.1 Jan 23, 2017
tiled.pro Fixed encoding problems with command-line output Jan 13, 2017
tiled.qbs Updated NEWS file and bumped version to 0.18.1 Jan 23, 2017


Tiled Map Editor - http://www.mapeditor.org/

About Tiled

Tiled is a general purpose tile map editor. It is meant to be used for editing maps of any tile-based game, be it an RPG, a platformer or a Breakout clone.

Tiled is very flexible, for example there are no restrictions on map size, tile size or the number of layers or tiles. Also, it allows arbitrary properties to be set on the map, its layers, the tiles or on the objects. Its map format (TMX) is relatively easy to understand and allows a map to use multiple tilesets while also allowing each tileset to grow or shrink as necessary later.

Build Status Build status Bountysource Translation status LiveCoding.tv

About the Qt Version

Tiled was originally written in Java. In 2008 the Qt version was started with the goal to replace the Java version with a faster, better looking and even easier to use map editor. Qt offered many opportunities to improve the performance and usability of the user interface, and has a more extensive feature set than the standard Java libraries.


Make sure the Qt (>= 5.4) development libraries are installed:

  • In Ubuntu/Debian: apt-get install qt5-default qttools5-dev-tools zlib1g-dev
  • In Fedora: sudo dnf builddep tiled
  • In Arch Linux: pacman -S qt
  • In Mac OS X with Homebrew:
    • brew install qt5
    • brew link qt5 --force
  • Or you can download Qt from: https://www.qt.io/download-open-source/

Now you can compile by running:

$ qmake (or qmake-qt5 on some systems)
$ make

To do a shadow build, you can run qmake from a different directory and refer it to tiled.pro, for example:

$ mkdir build
$ cd build
$ qmake ../tiled.pro
$ make

You can now simply run Tiled using bin/tiled.


For installing Tiled you can run make install. By default Tiled will install to /usr/local. You can change this prefix when running qmake, and/or you can change the install root when running make install, as follows:

Use /usr instead of /usr/local:

$ qmake -r PREFIX=/usr

(Recursive needed when it's not the first time that you're running qmake, since this affects nested pro files)

Install to some packaging directory:

$ make install INSTALL_ROOT=/tmp/tiled-pkg

By default, Tiled and its plugins are compiled with an Rpath so that they can find the shared libtiled library when running it straight after compile. When packaging for a distribution, this Rpath should generally be disabled by appending RPATH=no to the qmake command.