Celtic knot pattern generator
Weave endless knotwork in your browser: ribbons that run across a grid or any regular tiling, passing over and under at every crossing. Colour each strand, switch to a kolam line around dots — and export a seamless pattern as SVG, PNG or CSS.
Open in the generator How it works
What is Celtic knotwork?
Celtic knotwork is the art of interlaced bands that weave over and under one another with no beginning and no end. It decorates illuminated manuscripts such as the Book of Kells and carved stone crosses of early medieval Britain and Ireland.
Every crossing follows one rule: a strand that goes over at one crossing goes under at the next. That alternation is what makes a knot look woven.
How the generator builds them
On a square grid, strands run diagonally through the cells. A “break” on an edge of the grid turns the strands back instead of letting them cross, and that is how separate knots, loops and plaits appear. More breaks give a looser pattern; fewer give a dense plait. The breaks can be mirrored, so the whole pattern is symmetric.
The same idea works on regular and semi-regular tilings. Choose a base such as octagons and squares, or hexagons, and the ribbons cross the edges of the tiles at a slope you can change.
Kolam is a related tradition from South India, where a line loops around a grid of dots without touching them. Ornamatic can draw this too: the same lines, with the dots left inside.
What you can adjust
- Base — a square grid with breaks, or one of 11 regular and semi-regular tilings.
- Style — Celtic ribbons that weave over and under, or a kolam line.
- Breaks — how many there are, and whether they are mirrored.
- Ribbon width and gap — thin lines to broad ribbons, with a gap at every crossing.
- Ribbon slope — on tiling bases, the angle at which ribbons cross the edges.
- Colours — one colour, or a different one for every strand.
Export and use
Download the seamless tile as PNG or SVG, or copy a ready CSS background. The patterns you create are free to use, personally or commercially.