A web-based tile map editor for creating 2D game levels and scenes using sprite sheets. Built with vanilla HTML5, CSS3, and JavaScript - no dependencies required!
- π Sprite Sheet Loading: Load any image file as a sprite sheet
- π¨ Visual Palette: Automatically generates a clickable sprite palette from your sprite sheet
- β‘ Real-time Editing: Click to place sprites, with instant visual feedback
- π§ Flexible Tile Sizes: Support for common sizes (16x16, 32x32, 64x64) plus custom dimensions
- π Resizable Maps: Create maps from 5x5 up to 50x50 tiles
- π§½ Eraser Tool: Remove sprites with dedicated eraser mode
- πΎ PNG Export: Save your finished maps as clean PNG images
- π± Responsive Design: Works on desktop and tablet devices
- π― Pixel Perfect: Maintains crisp pixel art rendering
- Download or clone this repository
- Open
sprite_maps.htmlin your web browser - Load a sprite sheet image using the file input
- Start creating your map by clicking sprites in the palette and placing them on the canvas!
This is a pure client-side application - no server setup, build process, or dependencies needed. Just open the HTML file and start creating!
- Click "Load Sprite Sheet" and select an image file (PNG, JPG, GIF supported)
- The tool will automatically slice your image into tiles based on the current tile size
- All available sprites will appear in the palette on the left
- Select a Sprite: Click any sprite in the palette to select it
- Place Sprites: Click anywhere on the map canvas to place the selected sprite
- Use Eraser: Check "Eraser Mode" to remove placed sprites
- Resize Map: Adjust map dimensions using the width/height inputs
- Tile Size: Choose from preset sizes or enter custom dimensions
- Map Size: Set your map dimensions (5-50 tiles in each direction)
- Clear Map: Remove all placed sprites to start over
- Click "Save to PNG" to download your map as a clean image file
- The exported image excludes grid lines for a professional result
- Modern Browsers: Chrome, Firefox, Safari, Edge (recent versions)
- Minimum Requirements: HTML5 Canvas support, ES6 classes
- Mobile: Works on tablets, limited phone support due to screen size
- Input: Any web-supported image format (PNG, JPG, JPEG, GIF, WebP)
- Output: PNG format for maximum compatibility and quality