Click / drag to paint. Everything you draw wraps around, so it always tiles seamlessly.
Brush & Color
6
#FF8C42
Wallpaper Group how the motif repeats
Preview
70
Tile: 1 motifCopies: 1Sym: p1
Export
Drag the preview to pan. Scroll / pinch to feel the pattern flow. Export a high-res PNG of any region.
Tessella
Why this project?
Seamless patterns are everywhere — wallpaper, fabric, tiles, textile prints, game level textures, and the decorative border of a thousand manuscripts — yet almost nobody understands why a pattern tiles without a seam. Most "pattern generators" just hand you a finished image. Tessella flips that: you paint a single unit cell yourself, and the app shows the group of symmetry operations (translations, reflections, rotations) that turns your tiny drawing into an infinite, perfectly seamless field. It is a small window into the mathematics of the 17 wallpaper groups.
What is it?
Tessella is a browser-based studio for designing seamless wallpaper patterns. You paint on a square tile, pick one of the 17 classical wallpaper symmetry groups (p1, pmm, cmm, p4, p6, etc.), and watch your motif repeat across a large pannable canvas with the correct reflections, rotations and offsets for that group. You can scrub through every symmetry group live, tune the tile scale, and export the result as a high-resolution PNG or an SVG tile.
How does it work?
Every wallpaper group is a set of geometric operations that tile the plane. Tessella pre-renders the unit cell in every symmetry variant each group needs and stamps the motif's full orbit onto every visible cell, so the result carries exactly the symmetry of the chosen group. Try an asymmetric doodle — you can see each operation in action:
Rotations — quarter, third and half turns about the cell center (the p2 / p4 / p3 / p6 families).
Mirrors — reflections about the vertical, horizontal and diagonal axes through the cell center (pm, pmm, p4m, cmm, the p3/p6 mirror groups).
Glides — a mirrored copy placed a half-tile away, on the right or bottom edge center; at cell boundaries that reads as a glide reflection (pg, pmg, pgg, p4g).
Centered rows — alternate rows shifted by half a tile for the c-lattice groups (cm, cmm) and the hexagonal families (p3, p6), which approximates the hexagonal lattice. The p31m / p3m1 distinction (mirrors offset from vs. through the 3-fold centers) can't be expressed in a square unit cell, so both use mirrors through the cell center.
The preview renders the tile (or its flipped/rotated variants) on a grid whose origin, row-parity and cell indices are computed from your pan offset and scroll zoom. Because the base tile is itself a seamless unit, the combined result has no visible seams regardless of which group you pick. The painted tile is stored as an offscreen 2D canvas (the unit cell) and stamped onto the preview canvas each frame.
How to use it
Paint: click or drag on the Your Tile canvas. Choose a tool (Pen / Erase / Stamp) and a size, then pick a color from the swatches or the custom picker.
Change the symmetry: click any of the 17 wallpaper groups to see your motif re-tile instantly. Try p1 (plain repeat), pm (mirror), cm (offset mirror), pmm (full mirror grid), cmm (offset mirror + half rotations), p4 (square, 4-fold), and p6 (hex, 6-fold).
Adjust: use the Scale slider to make the motif bigger or smaller. Toggle the background to Paper / Dark.
Pan: drag the big preview to move around the infinite tiling.
Export:Save PNG downloads a high-res PNG of the visible tiling. Copy SVG tile copies a standalone seamless SVG of your unit cell to the clipboard. Randomize seeds a quick test pattern.
Keyboard: Tab reaches every control; the modal is focus-trapped and closes with Esc, the ✕ button, or a backdrop click.