Custom Export Formats

Tiled provides several options for extending it with support for additional file formats.

Since Tiled 1.3

Using JavaScript

Tiled is extendable using JavaScript and it is possible to add custom export formats using tiled.registerMapFormat or tiled.registerTilesetFormat.

This is the recommended way to add support for custom map or tileset formats.

Using Python

On some platforms, it is also possible to write Python scripts to add support for importing or exporting custom map and tileset formats.

Warning

Python scripting is not supported by the macOS release nor the Tiled snap release for Ubuntu. The plugin is also very specific in the supported Python version. Hence, its use is not recommend.

Using C++

Currently all export options shipping with Tiled are written as C++ Tiled plugins. The API for such plugins is not documented (apart from Doxygen-style comments in the libtiled source code), but there are over a dozen examples you can look at.

Note

For binary compatibility reasons, a C++ plugin needs to be compiled for the same platform, by the same compiler and with the same versions of Qt and Tiled that the plugin is supposed to support. Generally, the easiest way to achieve this is by compiling the plugin along with Tiled, which is what all current plugins do. If you write a C++ plugin that could be useful for others, it is recommended you open a pull request to have it shipped with Tiled.