evoluteur/kolam-maker

Generate South Indian sikku kolams, dot-grid designs where a single unbroken line loops around every dot. Watch it being drawn, edit it, and download it as SVG or PNG.

JavaScript

0

2 commits

updated Oct 3, 2026

See the code

README

Kolam-Maker

Generate a South Indian kolam right in your browser: a grid of dots, and a single unbroken line that loops around every one of them and comes back to where it began. Watch it being drawn, change it with a click, and save it as an SVG or a PNG. No sign-up and no libraries.

Kolam Maker

What it does

Every morning in Tamil Nadu, women draw a kolam on the doorstep with rice flour. In the sikku (or kambi) kolam, the line never ends: one closed loop goes around every dot.

  • Dots: a square grid (2 to 13 dots per side), the classic diamond (1-3-5-7-5-3-1...) or a rectangle.
  • New kolam: a new design, with a single line, different every time.
  • Turns: few turns give long diagonal sweeps, many turns give small loops around the dots.
  • Symmetry: four-fold (turning), mirror, two-fold or none.
  • Click between two dots to change how the line passes there (crossing, or turning one way or the other). When the design falls apart into several lines, each one gets its own color, and Make it one line joins them again.
  • Draw it: watch the line being drawn in one stroke, at the pace you choose.
  • Look: rice flour on red earth, a granite doorstep, festival colors, chalk or ink, with the line width, the roundness of the loops, the dots and a powder texture.
  • Save: Download PNG (2000 pixels square) or Download SVG. The address of the page keeps the kolam, to share it.

How it works

A sikku kolam is a mirror curve: halfway between two neighboring dots, the line either crosses itself or bounces back as if off a little two-sided mirror, and on the border it always bounces back. Follow it from anywhere and it loops around dot after dot until it comes home. Paulus Gerdes found the same curves in the sona sand drawings of Angola, and Slavik Jablan studied them as mirror curves.

To find a single line: with no mirrors, a square of n by n dots holds n separate lines. A mirror where two different lines cross always joins them into one. Where a line crosses itself, one mirror keeps it whole and the other cuts it in two. So the page places mirrors in random order (by symmetric groups of four), keeps only those that never cut, and adds more until one line is left.

How it is built

Plain HTML, CSS and JavaScript, with no dependencies and no build step. Just open index.html. It is also a small installable web app that works offline.

  • The kolam is one SVG, and the whole algorithm is in js/kolam.js.
  • The three color themes (dark, light and blue) are shared with my other projects, copied from omg-themes (npm run sync:themes refreshes them).

Kolam-Maker is open source at GitHub with MIT license.

Had fun browsing the app? Buy me a coffee by becoming a sponsor.

You may also be interested in Celtic-Knot-Maker (demo), which weaves the same mirror curves over and under, and in Mandala-Maker (demo), Sri-Yantra (demo) and Labyrinth-Maker (demo). For more mystic arts as small web apps, see Esoterica.

Copyright (c) 2026 Olivier Giulieri.

esoterica
kolam
png
printable
rangoli
svg

evoluteur/kolam-maker

Generate South Indian sikku kolams, dot-grid designs where a single unbroken line loops around every dot. Watch it being drawn, edit it, and download it as SVG or PNG.

JavaScript

0

2 commits

updated Oct 3, 2026

See the code

README

Kolam-Maker

Generate a South Indian kolam right in your browser: a grid of dots, and a single unbroken line that loops around every one of them and comes back to where it began. Watch it being drawn, change it with a click, and save it as an SVG or a PNG. No sign-up and no libraries.

Kolam Maker

What it does

Every morning in Tamil Nadu, women draw a kolam on the doorstep with rice flour. In the sikku (or kambi) kolam, the line never ends: one closed loop goes around every dot.

  • Dots: a square grid (2 to 13 dots per side), the classic diamond (1-3-5-7-5-3-1...) or a rectangle.
  • New kolam: a new design, with a single line, different every time.
  • Turns: few turns give long diagonal sweeps, many turns give small loops around the dots.
  • Symmetry: four-fold (turning), mirror, two-fold or none.
  • Click between two dots to change how the line passes there (crossing, or turning one way or the other). When the design falls apart into several lines, each one gets its own color, and Make it one line joins them again.
  • Draw it: watch the line being drawn in one stroke, at the pace you choose.
  • Look: rice flour on red earth, a granite doorstep, festival colors, chalk or ink, with the line width, the roundness of the loops, the dots and a powder texture.
  • Save: Download PNG (2000 pixels square) or Download SVG. The address of the page keeps the kolam, to share it.

How it works

A sikku kolam is a mirror curve: halfway between two neighboring dots, the line either crosses itself or bounces back as if off a little two-sided mirror, and on the border it always bounces back. Follow it from anywhere and it loops around dot after dot until it comes home. Paulus Gerdes found the same curves in the sona sand drawings of Angola, and Slavik Jablan studied them as mirror curves.

To find a single line: with no mirrors, a square of n by n dots holds n separate lines. A mirror where two different lines cross always joins them into one. Where a line crosses itself, one mirror keeps it whole and the other cuts it in two. So the page places mirrors in random order (by symmetric groups of four), keeps only those that never cut, and adds more until one line is left.

How it is built

Plain HTML, CSS and JavaScript, with no dependencies and no build step. Just open index.html. It is also a small installable web app that works offline.

  • The kolam is one SVG, and the whole algorithm is in js/kolam.js.
  • The three color themes (dark, light and blue) are shared with my other projects, copied from omg-themes (npm run sync:themes refreshes them).

Kolam-Maker is open source at GitHub with MIT license.

Had fun browsing the app? Buy me a coffee by becoming a sponsor.

You may also be interested in Celtic-Knot-Maker (demo), which weaves the same mirror curves over and under, and in Mandala-Maker (demo), Sri-Yantra (demo) and Labyrinth-Maker (demo). For more mystic arts as small web apps, see Esoterica.

Copyright (c) 2026 Olivier Giulieri.

esoterica
kolam
png
printable
rangoli
svg