Enter Width & Height (m), Tile size (m/cm/mm) and Gap (m/cm/mm/% of tile), pick a gap colour, then press Apply size. Edge tiles are cut realistically.
+ Add colour → choose a RAL Classic value or type a hex. Double-click a swatch to edit, ✕ to delete. Each row shows a live tile count.
🖼 Image → tiles turns a photo into a tile layout. Each tile is matched to the nearest palette colour (perceptual CIELAB match). Choose Use current palette to map onto the colours you already have, or Suggest colours from image to extract a palette — these can be snapped to the nearest RAL so they stay orderable. Adjust fit, brightness/contrast, and optional dithering, watch the live preview, then Apply (undoable). The image is processed entirely in your browser — nothing is uploaded.
Label tiles (on by default): every tile shows its number (big, centred) with RAL and hex in the bottom-right — like a periodic-table cell. The palette is the matching legend. Print outputs the layout plus a legend table (number, swatch, RAL, hex, name, tile count) — hand that to whoever lays the tiles.
Save / Load a .json design · Copy share link packs the whole design into a URL · export PNG or SVG · 🖨 Print design (layout + legend) or 🖨 Print legend (legend table only) — both open the print dialog (pick a printer, or “Save as PDF”). Your work also auto-saves in this browser.
.json
Runs 100% in your browser — no server, nothing is uploaded, no tracking, and it works offline. Designs stay on your device (browser storage, files you save, or links you choose to share).
Tile Designer · Copyright © 2026 Marc Pfaendler. Free software under the GNU Affero General Public License v3 or later (AGPL-3.0) — this page is its complete source code. Comes with absolutely no warranty.
⚠️ AI-generated software, provided “as is”, no liability — verify colours and measurements before ordering or installing. RAL values are on-screen approximations, not colour-accurate to physical tiles/paint.