Libraries and Frameworks

There are many libraries available for reading and/or writing Tiled maps (either stored in the TMX Map Format or the JSON Map Format) as well as many development frameworks that include support for Tiled maps. This list is divided into two sections:

The first list is for developers who plan on implementing their own renderer. The second list is for developers already using (or considering) a particular game engine / graphics library who would rather pass on having to write their own tile map renderer.

Note

For updates to this page please open a pull request or issue on GitHub, thanks!

Support by Language

These libraries typically include only a TMX parser, but no rendering support. They can be used universally and should not require a specific game engine or graphics library.

C

  • cute tiled - JSON map loader with examples (zlib/Public Domain).

  • libtmj - JSON map and tileset loader with zlib/gzip/zstd support (BSD 2-Clause)

  • TMX - TMX map loader with Allegro5 and SDL2 examples (BSD).

C++

  • C++/TinyXML based tmxparser (BSD)

  • C++/Qt based libtiled, used by Tiled itself and included at src/libtiled (BSD)

  • C++11x/TinyXml2 libtmx-parser by halsafar. (zlib/tinyxml2)

  • C++11/TinyXml2 libtmx by jube, for reading only (ISC licence). See documentation.

  • TMXParser General *.tmx tileset data loader. Intended to be used with TSXParser for external tileset loading. (No internal tileset support)

  • TSXParser General *.tsx tileset data loader. Intended to be used with TMXParser.

  • TMXLoader based on RapidXml. Limited functionality (check the website for details).

  • tmxlite C++14 map parser with compressed map support but no external linking required. Includes examples for SFML and SDL2 rendering. Currently has full tmx support up to 0.16. (Zlib/libpng)

  • tinytmx A C++17 library to parse maps generated by Tiled Map Editor. Requires no external linking, all dependencies are included.

  • Tileson - A Tiled JSON parser for modern C++ (C++17) by Robin Berg Pettersen (BSD)

C#/.NET

  • TiledCS: A dotnet library for loading Tiled tilesets and maps (TMX/TSX or JSON).

  • MonoGame.Extended has a Tiled map loader and renderer that works with MonoGame on all platforms that support portable class libraries.

  • The following projects appear to be no longer maintained, but might still be useful: TiledSharp, NTiled, tmx-mapper-pcl, tiled-xna and TmxCSharp.

Common Lisp

  • cl-tiled: TMX/TSX and JSON map/tileset loader.

Clojure

  • tile-soup: Parses and validates a TMX file into a map. Automatically decodes Base64 and CSV formatted data and coerces numbers when necessary. Works on both the JVM and in browsers via ClojureScript.

D

  • tiledMap.d simple single-layer and single-tileset example to load a map and its tileset in D language. It also contains basic rendering logic using DSFML

  • dtiled can load JSON-formatted Tiled maps. It also provides general tilemap-related functions and algorithms.

Dart

  • tiled: a library for loading TMX files

Go

Haskell

Java

  • A library for loading TMX files is included with Tiled at util/java/libtiled-java.

  • TiledReader is a simple TMX reader that conveys the information in Tiled files via a hand-crafted class structure, but does not load image data.

  • Android-Specific:

    • AndroidTMXLoader loads TMX data into an object and renders to an Android Bitmap (limited functionality)

    • libtiled-java port is a port of the libtiled-java to be used on Android phones.

OCaml

PHP

  • PHP TMX Viewer by sebbu : render the map as an image (allow some modifications as well)

Pike

  • TMX parser: a simple loader for TMX maps (CSV format only).

Processing

Python

  • Arcade: 2D game library that uses pytiled-parser for easy loading of Tiled maps into a game. Arcade Tiled Examples

  • pytiled-parser: Python parser for TMX and JSON maps.

  • pytmxlib: library for programmatic manipulation of TMX maps

  • pytmxloader: Python library intended to make loading of JSON Tiled maps very easy.

  • PyTMX: Python library to read TMX maps.

  • ulvl: Simple Python library that can read from, among others, TMX XML files.

Ruby

Rust

  • tiled, a rust crate for loading TMX maps

  • tiled-json-rs, a crate to parse and interact with Tiled editor JSON files

Vala

  • librpg A library to load and handle spritesets (own format) and orthogonal TMX maps.

Support by Framework

Following entries are integrated solutions for specific game engines. They are typically of little to no use if you’re not using said game engine.

AndEngine

Allegro

Bevy

  • bevy_tiled, a plugin for rendering Tiled maps

  • bevy_tmx, a plugin that allows you to read .tmx files as scenes

  • bevy_ecs_tilemap, a tilemap rendering plugin that makes tiles entities, with support for TMX maps

Castle Game Engine (Object Pascal)

Cell2D

  • The Java library Cell2D supports Tiled maps via a pipeline that starts with TiledReader, but currently has more built-in support for orthogonal maps than for other orientations.

cocos2d

Construct 2 - Scirra

  • Construct 2, since the Beta Release 149, officially supports TMX maps, and importing it by simple dragging the file inside the editor. Official Note

DragonRuby Game Toolkit

Flame

  • flame_tiled is a library for incorporating Tiled maps into the Flame game engine.

Flixel

Game Maker

Godot

Grid Engine

  • Planimeter’s Grid Engine supports Tiled Lua-exported maps.

Haxe

  • HaxePunk Tiled Loader for HaxePunk

  • HaxeFlixel

  • OpenFL “openfl-tiled” is a library, which gives OpenFL developers the ability to use the Tiled Map Editor.

  • OpenFL + Tiled + Flixel Experimental glue to use “openfl-tiled” with HaxeFlixel

HTML5 (multiple engines)

  • Canvas Engine A framework to create video games in HTML5 Canvas

  • chem-tmx Plugin for chem game engine.

  • chesterGL A simple WebGL/canvas game library

  • Crafty JavaScript HTML5 Game Engine; supports loading Tiled maps through an external component TiledMapBuilder.

  • Excalibur, an open-source 2D HTML5 game engine, supports loading Tiled maps through the plugin excalibur-tiled.

  • GameJs JavaScript library for game programming; a thin wrapper to draw on HTML5 canvas and other useful modules for game development

  • KineticJs-Ext A multi-canvas based game rendering library

  • melonJS A lightweight HTML5 game engine

  • Panda 2, a HTML5 Game Development Platform for Mac, Windows and Linux. Has a plugin for rendering Tiled maps, both orthogonal and isometric.

  • Phaser A fast, free and fun open source framework supporting both JavaScript and TypeScript (Tiled tutorial)

  • linux-man/p5.tiledmap adds Tiled maps to p5.js.

  • Platypus Engine A robust orthogonal tile game engine with game entity library.

  • sprite.js A game framework for image sprites.

  • TMXjs A JavaScript, jQuery and RequireJS-based TMX (Tile Map XML) parser and renderer.

  • glazeJS A high performance 2D game engine built in Typescript. It supports the TMX format, rendering tile layers on the GPU via WebGL (demo).

indielib-crossplatform

Irrlicht

LibGDX

  • libgdx, a Java-based Android/desktop/HTML5 game library, provides a packer, loader and renderer for TMX maps

LITIENGINE

  • LITIENGINE is an open source Java 2D Game Engine that supports loading, editing, saving, and rendering maps in the .tmx format.

LÖVE

MOAI SDK

Monkey X

  • bit.tiled Loads TMX file as objects. Aims to be fully compatible with native TMX files.

  • Diddy is an extensive framework for Monkey X that contains a module for loading and rendering TMX files. Supports orthogonal and isometric maps as both CSV and Base64 (uncompressed).

Node.js

Oak Nut Engine (onut)

Orx Portable Game Engine

Pygame

Pyglet

PySDL2

  • PyTMX by Leif Theden (bitcraft)

RPG Maker MV

SDL

SFML

Slick2D

Solar2D (formerly Corona SDK)

  • ponytiled is a simple Tiled Map Loader for Solar2D (forum announcement)

  • Dusk Engine is a fully featured Tiled map game engine for Solar2D (no longer maintained, but may still be useful)

  • Berry is a simple Tiled Map Loader for Solar2D.

  • Qiso is an isometric engine for Solar2D that supports loading Tiled maps, and also handles things like path-finding for you.

Sprite Kit Framework

  • SKTilemap is built from the ground up in Swift. It’s up to date, full of features and easy to integrate into any Sprite Kit project. Supports iOS and OSX.

  • SKTiled - A Swift framework for working with Tiled assets in SpriteKit.

  • JSTileMap is a lightweight SpriteKit implementation of the TMX format supporting iOS 7 and OS X 10.9 and above.

TERRA Engine (Delphi/Pascal)

Unity

  • SuperTiled2Unity is a collection of C# Unity scripts that can automatically import Tiled map editor files directly into your Unity projects.

  • Tiled TMX Importer, imports into Unity 2017.2’s new native Tilemap system.

  • Tiled to Unity is a 3D pipeline for Tiled maps. It uses prefabs as tiles, and can place decorations dynamically on tiles. Supports multiple layers (including object layers).

  • Tuesday: A generic C# serializer and deserializer plus a set of Unity editor scripts that allow you to drag and drop TMX files into your scene, make edits, and save back out as TMX files. MIT license.

  • UniTiled, a native TMX importer for Unity.

  • X-UniTMX supports almost all Tiled 0.11 features. Imports TMX/XML files into Sprite Objects or Meshes.

  • Orthello Pro (2D framework) offers Tiled map support.

Unreal Engine 4

  • Paper2D provides built-in support for tile maps and tile sets, importing JSON exported from Tiled.

Urho3D

XNA

  • FlatRedBall Glue tool ships with a Tiled plugin that loads TMX maps into the FlatRedBall engine, providing rich integration with its features.

  • XTiled by Michael C. Neel and Dylan Wolf, XNA library for loading and rendering TMX maps

  • XNA map loader by Kevin Gadd, extended by Stephen Belanger and Zach Musgrave