A small, true story about a friendly little burst — twelve rays of warmth that hide a perfect symmetry, a deliberate imperfection, and a disc swept in a circle.
The Claude logomark looks hand-drawn: a warm coral spark, a dozen rays of slightly uneven length leaning this way and that, like a child's drawing of a sun or the first sparkle off a struck match. That casual warmth is real — but it sits on top of something exact. Underneath is a perfect twelve-fold star, and the warmth comes from knocking that perfection very slightly off true, then rounding every sharp point with a swept disc.
Here is the whole mark in one polar idea. Put a tip at radius
A star is just a polar curve that keeps changing its mind about how far out to go. Run claude_spark.py and out comes the mark. This README is the story of the three things that turn that bare star into Claude's spark: a number, a wobble, and a Minkowski sum.
python claude_spark.py # the measured (faithful) spark
python claude_spark.py --ideal # perfect 12-fold symmetry
python claude_spark.py --round 0.09 # rounder tips (bigger Minkowski disc)Reading the real mark's outline (see ref/parse_claude.py, which parses the published SVG path and converts every vertex to polar coordinates) settles the first question immediately: there are twelve rays, and they sit at an average of exactly 30° apart.
Thirty degrees is
So the bones are as regular as bones get. A first guess at the logo is honestly just:
theta_k = 2*math.pi*k/12 # twelve rays, evenly spacedThat guess is the --ideal mode, and it draws a crisp, mechanical, perfectly boring twelve-pointed star. The real mark is better than that — and the reason it's better is the second thing.
The twelve rays average 30° apart, but they do not sit 30° apart. Measured, the gaps between neighbouring rays run like this:
28° 15° 35° 31° 22° 34° 33° 31° 36° 32° 41° 23°
Look at that 15° — two rays almost leaning on each other — right next to a 41°, a wide lonely gap. The lengths wander a little too. This is not sloppiness; it is the entire personality of the mark. A perfect
This is a tiny, lovely instance of a deep idea: broken symmetry. The underlying law is exact and symmetric; the thing you actually see is the law with the symmetry gently lifted, and almost everything that feels warm or organic or natural — a face, a leaf, a flame — is exact structure with the symmetry just barely broken. The faithful mode of the generator keeps the measured angles; the perfect skeleton is still in there, knocked a few degrees off true.
The language we just used — "radius
$R$ at angle$\theta$ " — is polar coordinates, and its publication is traditionally credited to Jacob Bernoulli (1654–1705), eldest of the brilliant, quarrelsome Bernoulli clan. In the January 1691 Acta Eruditorum he analysed a curve by its radial line and its angle, the exact frame in which a sunburst becomes a single equation.The curve he was analysing was the logarithmic spiral, and he loved it past all reason. It has a magical property: zoom in, rotate it, take its involute, its evolute, its caustic — and out comes the same spiral again. He called it spira mirabilis, the marvellous spiral, and asked that it be carved on his tombstone with the motto "Eadem mutata resurgo" — though changed, I rise again the same.
The stonemasons, who were artisans and not geometers, carved the wrong spiral. Bernoulli's grave in Basel bears an Archimedean spiral — the boring one, with evenly spaced coils, the kind that does not come back the same under scaling. The man who found the one curve that is eternal under transformation lies beneath a monument to a craftsman's honest mistake. There is no better patron saint for a story about the gap between the exact figure and the hand that draws it.
The star so far has needle-sharp tips and sharp valleys. The Claude spark does not — every ray ends in a gentle, friendly round. That rounding is not a separate drawing step; it is a single mathematical operation you have already met if you read the Meta-logo companion.
Take the sharp star — call the filled region
the Minkowski sum of the star with a disc. Sweeping a disc along anything rounds its convex corners to radius stroke-linejoin="round", performs a genuine operation from convex geometry.
<path d="…the sharp star…" fill="coral"
stroke="coral" stroke-width="2ρ" stroke-linejoin="round"/>Turn --round 0.12) and the spark grows pillowy and soft; turn it down (--round 0.02) and it sharpens toward a blade. Claude's mark sits at a friendly, deliberate middle.
Hermann Minkowski (1864–1909) — who won the French Academy's Grand Prix at eighteen, founded the "geometry of numbers," and gave Einstein's relativity its four-dimensional shape — lends his name to that sweep-a-shape-over-a-shape operation. It is not a museum piece. The Minkowski sum is how a robot decides where it can go: inflate every obstacle by the robot's own body (a Minkowski sum), and the robot shrinks to a single point that simply has to avoid the fattened walls. Every self-driving car and warehouse arm planning a path is, in effect, rounding star-points for a living.
So the same idea does triple duty here: it is the deep operation, it is the one-line SVG instruction, and it is the reason the Claude spark feels approachable rather than spiky. A logo you could safely hug, courtesy of a number theorist who died in 1909.
This is a reconstruction, not the official artwork. It faithfully reproduces the structure of the published single-path mark — twelve rays, their measured angles and lengths, the inner radius, the rounded tips — and the silhouette is a close match. But the official Claude/Anthropic mark may carry subtly tuned curvature the straight-sided star doesn't capture, and the coral gradient here is a chosen warm coral (around #D97757), not a sampled brand value. The point was never to forge the trademark. The point is the genuinely pretty fact underneath:
The Claude spark is a perfect twelve-fold star, its symmetry deliberately broken by a few degrees for warmth, then softened by sweeping a disc around its edge — one number, one wobble, one Minkowski sum.
python claude_spark.py # -> claude_spark.svg (measured/faithful)
python claude_spark.py --ideal # perfect 12-fold symmetry
python claude_spark.py --round 0.09 # rounder tips (larger Minkowski disc)
python claude_spark.py --bg "#ffffff" # on a background
python verify_render.py # Pillow silhouette check
python make_hero.py # regenerate assets/hero.png
python ref/parse_claude.py # re-derive the ray geometry from the real pathclaude_spark.py is pure standard-library Python. verify_render.py / make_hero.py use Pillow (and NumPy for the hero) for the optional raster previews.
| file | what it is |
|---|---|
claude_spark.py |
the generator — pure Python, emits raw SVG |
claude_spark.svg |
the faithful (measured) mark |
claude_spark_ideal.svg |
perfect 12-fold version |
ref/parse_claude.py |
parses the real path and analyses the ray geometry |
verify_render.py / make_hero.py |
raster checks + hero |
- Companion to the Meta-logo / Lissajous study; both were built with the same
code-to-svg-storymethod. - Ground-truth geometry parsed from the Simple Icons Claude mark (CC0).
- Historical details from the MacTutor History of Mathematics Archive and Wikipedia.
- The Claude and Anthropic logos are trademarks of Anthropic PBC. This repository is an independent, educational mathematical study and is not affiliated with, sponsored by, or endorsed by Anthropic.
MIT for the code. Trademarks belong to their owners; see the note above.