A web-based tool for creating 2D sprites and tile maps for games.
- 🎨 Sprite Editor — Pixel-perfect drawing with animation frames and palette management
- 🗺️ Map Editor — Tile-based level design with layers and editing tools
- 🤖 AI Sprite Generator — Create pixel-art sprites from text prompts using Stable Diffusion
- 📁 Project Management — Organize assets in folders within projects
┌─────────────┐ HTTP/JSON ┌──────────────────┐
│ Frontend │ ◄───────────────► │ Backend │
│ (Vanilla) │ │ (Express.js) │
└─────────────┘ └────────┬─────────┘
│
┌────────▼─────────┐
│ SQLite │
│ + File Storage │
└──────────────────┘
│
┌────────▼─────────┐
│ Hugging Face │
│ Stable Diffusion│
└──────────────────┘
- Frontend: Vanilla JavaScript, HTML5 Canvas API
- Backend: Node.js + Express, Sequelize ORM
- Database: SQLite for metadata
- Storage: Local filesystem for PNG assets
- AI: Hugging Face Stable Diffusion XL (optional)
- Node.js 18+
- Docker (optional, recommended)
docker compose up --buildOpen http://localhost:3000 in your browser.
cd backend
npm install
npm run devOpen http://localhost:3000 in your browser.
| Variable | Default | Description |
|---|---|---|
PORT |
3000 | Server port |
DATA_DIR |
.data | Directory for database and uploads |
CORS_ORIGIN |
— | Allowed origins (comma-separated) |
HF_API_TOKEN |
— | Hugging Face API token (for AI) |
HF_MODEL_ID |
sdxl | Stable Diffusion model ID |
Create a .env file in the backend/ directory (see .env.example):
PORT=3000
HF_API_TOKEN=your_token_hereThe AI feature requires a free Hugging Face API token:
- Sign up at huggingface.co
- Go to Settings → Access Tokens
- Create a token with "Read" permission
- Set it as
HF_API_TOKENin your environment
Note: First generation may take 30-60s due to model loading on free tier.
If the server fails to start with a database error:
rm backend/.data/database.db
# Then restartThe application now auto-recovers from database corruption.
If you encounter permission errors with Docker volumes:
sudo chown -R $USER:$USER backend/.data├── backend/
│ ├── db/ # Database models & services
│ ├── routes/ # API endpoints
│ ├── services/ # Business logic (HF client, image processing)
│ ├── .data/ # Runtime data (gitignored)
│ │ ├── database.db # SQLite database
│ │ └── uploads/ # Generated sprites
│ └── server.js # Entry point
├── frontend/
│ ├── EditorTool/ # Main editor UI
│ ├── SpriteEditor/ # Sprite canvas & tools
│ ├── MapEditor/ # Tilemap editor
│ └── FileArea/ # Project file browser
├── docs/
│ └── features.md # Feature documentation
├── docker-compose.yml
└── README.md
- Onur
- Matz
- Markus
MIT License