# tilemap-editor **Repository Path**: suyimin1/tilemap-editor ## Basic Information - **Project Name**: tilemap-editor - **Description**: https://github.com/blurymind/tilemap-editor.git - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-14 - **Last Updated**: 2025-08-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

TilemapEditor

try it online at https://blurymind.github.io/tilemap-editor/ The online demo is an installable pwa, which has as a goal to demonstrate integration of the editor in other projects. You can use the pwa as a way of sharing a demo of tilesets and tilemaps you have created! As an example this url: https://blurymind.github.io/tilemap-editor/?imgur=SjjsjTm the imgur=ID at the end tells tilemap-editor to use as tilesets an imgur uploads gallery with the same id in its url: https://imgur.com/a/SjjsjTm In the same way you can also store your tilemaps in github gists! as an example this url: https://blurymind.github.io/tilemap-editor/?gist=e81f38830a67444c54adfb4f69c6538d the gist=ID at the end tells tilemap-editor to load the timap data (which also has the tilesets in it) from a gist at github with the same id in its url: https://gist.github.com/blurymind/e81f38830a67444c54adfb4f69c6538d To store a tilemap in a gist, export it with file>downloadjson file, open the file and copy its contents, then paste them into a gist. Or alternatively just upload the file to a gist. Finally copy the gist's ID and then append the gist=yourGistId to the tilemap-editor url. I plan to make this a simpler process in the future if there is enough interest. ---

About | Features | Reason | Getting started | Api use | How to Contribute |

--- ## :space_invader: About TileMap Editor is a fat-free tile map editor with zero dependencies and a scalable, mobile-friendly interface. ## :gift: features - Multiple tileset support - Multiple tilemap support - Multi-tile selection and painting (drag select multiple tiles from the tileset) - Tileset meta-data editing (Assign tags to tiles, automatic assignment of symbols to tiles) - Animated tiles support - Flipped tiles support - Tilemap layers (as many as you like) with opacity and visibility - Export boilerplate code for kaboomjs https://kaboomjs.com/ (wip) - Customizable export data - Resizable tilemap - non destructive too - Paint tool, Pan tool, eraser tool, Bucket fill tool, Random tile tool, Pick tile tool - Undo/redo system - Responsive interface (scales down to portrait mode on mobile) - Tiny footprint - Easy I/O api that lets you transform and save data with ease Planned: - Paint tool modes (line, square, circle,etc) - tiled i/o

Multiple tilemaps and tilesets are supported in one file/session

It also scales all the way down to a smartphone screen in portrait mode

You can flip tiles

It can even do animated tiles

The random tile brush can also use animation frames to place a random frame

## :cyclone: Reason But Todor, why are you making another tilemap editor with all these other ones out there? While I am a big fan of Tiled and LdTk, for my case I was looking for something that neither had: - Tiny footprint. Other tilemap editors are 60-100+ mb and require installation. Tilemap-editor is 30kb as of the time of writing this. - Can be used by other js projects/web apps/websites. It has been designed to be a module, which you can plug in your project easily. - No build process required, no webpack, no transpiling. Thats true, it's a single js+css file with no external dependencies! - Runs everywhere - mobile too. The other available options can not run on android or ios. - Responsive interface that scales all the way down to a portrait mode smartphone. Thats right, one of the goals is to let you make maps on your phone. - Again it just uses vanilla javascript, no react, no webpack, no 1gb+ eaten by the node modules folder. Inspect its code in the browser and it all there clear as a day. - No complicated build processes. Since it's just a js file, you don't need to wait for it to rebuild every time you change it ## :eyeglasses: Getting started ```bash $ git clone https://github.com/blurymind/tilemap-editor.git $ yarn $ yarn start ``` ## :book: Api To get it from npm, you can run ```bash $ npm i tilemap-editor or $ yarn add tilemap-editor ``` To use it, you can import it via require or in the index file like so ```js // include the js and css files ``` ## :wrench: How to Contribute You are welcome to add new features or fix some bugs: 1. Fork this repository 2. Clone your fork ```bash $ git clone https://github.com/blurymind/tilemap-editor.git ``` - Create a branch with your changes ```bash $ git checkout -b my-awesome-changes ``` - Make the commit with your changes ```bash $ git commit -m 'feat: add a shortcut to copy a tile of the canvas' ``` - Push your branch ```bash # Send the code to your remote branch $ git push origin my-awesome-changes ``` - Create a _Pull Request_