The same drawings, three ways. A component picks the weight the state calls for rather than swapping in a different icon, so the shape a person learned stays the shape they see.
Four icons rather than one, because a weight is a treatment applied across a set. On a single glyph the
difference between bulk and bold can look like a rendering artefact; across four it reads
as a rule.
Stroked at 1.5. The default, and what almost every control uses.
Filled, with the secondary shapes at 40 per cent. For a selected or active state.
Filled solid. Small sizes, and anywhere a stroke would close up.
Everything is a 24ร24 viewBox in currentColor, stroked at 1.5 with round caps and joins.
Nothing carries a colour of its own โ an icon in a danger button is red because the button is.
The source ships six. outline sits too close to linear to be a separate decision, broken is a style rather than a state, and twotone does what bulk already does. Three weights map onto three states โ resting, active, and small โ and a
fourth would be a choice without a rule behind it.
At 16px a 1.5px stroke starts closing the gaps between the strokes. That is where bold earns its place.
140 icons, three weights each, 420 files across 20 categories. Search by name, filter by category, click to copy the token.
This is the set. Anything in the repo that is not here came from somewhere else and is being replaced.
The folder holds 619 files. 420 of them are the set above. The other 199 came from libraries that are no longer used, and they are why a grid of Odin icons looks like it was drawn by more than one hand.
Nothing else here is a judgement about which icons Odin needs. The set grows with the product, and a category that looks thin today is usually a module that has not landed yet.
| Origin | Files | What it is | What happens |
|---|---|---|---|
| Tabler | 154 | The previous library. 2px stroke, squarer construction, its own names. | Replace with the Iconsax equivalent. Where none exists, the icon is a question about the interface, not about the icon set. |
| unidentified | 45 | Mostly -solid pairs and layout glyphs. Drawn or edited by hand. | Same. Anything hand-drawn is a one-off that the set should absorb. |
Forty-six of the 199 share a base name with an icon already in the set โ misc/bell beside support/bell-linear, system/search beside essential/search-linear, design/variable beside design/variable-linear. Two drawings of the same idea, in two
categories, from two libraries. These are the easy half of the replacement: the Iconsax version already exists,
so the old file just goes.
Forty-two paths in the folder are stroked at 2 rather than 1.5. Two is the Tabler default, so a search for stroke-width="2" finds the leftovers without opening a single file. sport-tshirt-bold is the other tell: it carries a
stroke, which no Iconsax bold icon does.
An icon nobody can find is a drawing, not an icon.
Nobody building a screen picks a stroke width or a viewBox. They name the thing they mean and the drawing arrives at the size and colour of the text beside it.