# Custom export script

**URL:** <https://discourse.mapeditor.org/t/custom-export-script/1508>\
**Category:** Questions\
**Created:** [July 4, 2016, 12:42am UTC](https://discourse.mapeditor.org/t/custom-export-script/1508 "2016-07-04T00:42:34Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Geokureli](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.mapeditor.org/geokureli/32/1635_2.png) [@Geokureli](https://discourse.mapeditor.org/u/Geokureli)\
**Post date:** [July 4, 2016, 12:42am UTC](https://discourse.mapeditor.org/t/custom-export-script/1508/1 "2016-07-04T00:42:34Z")

</div>

I’m currently working on a TMX parser for my game engine, but I was wondering if there was a way to create custom exporters to streamline this process. A Google search didn’t yield results, is this possible?

---

<div class="post-metadata">

**Author:** ![bjorn](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.mapeditor.org/bjorn/32/1599_2.png) [@bjorn](https://discourse.mapeditor.org/u/bjorn)\
**Post date:** [July 4, 2016, 6:20am UTC](https://discourse.mapeditor.org/t/custom-export-script/1508/2 "2016-07-04T06:20:03Z")

</div>

You can write export plugins for Tiled in either C++ or Python. Adding a C++ plugin requires compiling Tiled yourself, you can see some examples here:

> **[bjorn/tiled](https://github.com/bjorn/tiled/tree/master/src/plugins)**
>
> A flexible level editor. Contribute to bjorn/tiled development by creating an account on GitHub.

The Python plugin (which requires installing Python 2.7 as well, on Windows at least - and note that for now it is not available for the 64-bit Windows build) would allow you to write export plugins without setting up a build environment for Tiled. It is not extensively tested, but it should generally work. You can find some examples at:

> **[bjorn/tiled](https://github.com/bjorn/tiled/tree/master/src/plugins/python/scripts)**
>
> A flexible level editor. Contribute to bjorn/tiled development by creating an account on GitHub.

The Python scripts should be placed at `$HOME/.tiled`.

Both systems also allow writing a map reader, which may allow you to avoid the TMX format entirely.
