# Free alternatives to Euclid

Euclid is a commercial geometric sans from Swiss Typefaces (https://www.swisstypefaces.com/fonts/euclid/). Commercial; licensed from Swiss Typefaces. The name is used only to identify the typeface; BrandSweets does not host or embed it. Below: the 8 closest free, open-licensed families, ranked by a published deterministic score (https://brandsweets.com/fonts/alternatives/methodology).

## Reference profile

- Slug: `euclid`
- Also searched as: Euclid Circular
- Category: sans · Class: geometric
- Traits: geometric, modern, minimal, clean, monoline
- Roles: heading, ui, body
- Metrics: x-height 0.52, cap height 0.70, normal width, low contrast (approximate, publicly documented)
- Languages: latin, latin-ext, cyrillic, greek · Variable: no
- Page: https://brandsweets.com/fonts/alternatives/euclid

## Score

`score = 0.35·classification + 0.25·metrics + 0.20·traits + 0.10·useCase + 0.05·language + 0.05·variable`; every axis in [0, 1]. A family gate runs first: specialist families (blackletter, script, glyphic, stencil, monospace, pixel) only list same-family fonts; elsewhere a cross-family mismatch is capped at 0.2. Curated picks are listed first, then pure formula; ties break on popularity, then slug.

## Ranked alternatives

### 1. DM Sans — 93%

- Slug: `dm-sans` · sans · OFL-1.1 · Colophon Foundry · static
- Page: https://brandsweets.com/fonts/dm-sans · font.md: https://brandsweets.com/fonts/dm-sans/font.md
- Classification (×0.35): 1.00 — Same class: geometric.
- Metrics (×0.25): 0.97 — x-height 0.50 vs 0.52 for Euclid (near-identical); cap height 0.70 vs 0.70 for Euclid (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.80 — Shares geometric, minimal, modern, monoline (4 of 5 traits).
- Role (×0.10): 1.00 — Both suit body, heading, ui.
- Language (×0.05): 0.50 — Covers latin, latin-ext; lacks cyrillic, greek.
- Variable (×0.05): 1.00 — Static instances, like Euclid.
- Family gate: pass — Same family: sans.

### 2. Manrope — 91%

- Slug: `manrope` · sans · OFL-1.1 · Mikhail Sharanda · static
- Page: https://brandsweets.com/fonts/manrope · font.md: https://brandsweets.com/fonts/manrope/font.md
- Classification (×0.35): 1.00 — Same class: geometric.
- Metrics (×0.25): 0.91 — x-height 0.54 vs 0.52 for Euclid (near-identical); cap height 0.72 vs 0.70 for Euclid (close); both normal width; both low stroke contrast.
- Traits (×0.20): 0.67 — Shares clean, geometric, modern, monoline (4 of 6 traits).
- Role (×0.10): 1.00 — Both suit body, heading, ui.
- Language (×0.05): 1.00 — Covers all of Euclid's subsets (cyrillic, greek, latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like Euclid.
- Family gate: pass — Same family: sans.

### 3. Mulish — 91%

- Slug: `mulish` · sans · OFL-1.1 · Vernon Adams, Cyreal, Jacques Le Bailly · static
- Page: https://brandsweets.com/fonts/mulish · font.md: https://brandsweets.com/fonts/mulish/font.md
- Classification (×0.35): 1.00 — Same class: geometric.
- Metrics (×0.25): 0.95 — x-height 0.50 vs 0.52 for Euclid (near-identical); cap height 0.70 vs 0.70 for Euclid (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.83 — Shares clean, geometric, minimal, modern, monoline (5 of 6 traits).
- Role (×0.10): 0.67 — Both suit body, ui; Mulish is not tagged for heading.
- Language (×0.05): 0.75 — Covers cyrillic, latin, latin-ext; lacks greek.
- Variable (×0.05): 1.00 — Static instances, like Euclid.
- Family gate: pass — Same family: sans.

### 4. Figtree — 90%

- Slug: `figtree` · sans · OFL-1.1 · Erik Kennedy · static
- Page: https://brandsweets.com/fonts/figtree · font.md: https://brandsweets.com/fonts/figtree/font.md
- Classification (×0.35): 1.00 — Same class: geometric.
- Metrics (×0.25): 0.96 — x-height 0.50 vs 0.52 for Euclid (near-identical); cap height 0.70 vs 0.70 for Euclid (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.67 — Shares clean, geometric, modern, monoline (4 of 6 traits).
- Role (×0.10): 1.00 — Both suit body, heading, ui.
- Language (×0.05): 0.50 — Covers latin, latin-ext; lacks cyrillic, greek.
- Variable (×0.05): 1.00 — Static instances, like Euclid.
- Family gate: pass — Same family: sans.

### 5. Plus Jakarta Sans — 87%

- Slug: `plus-jakarta-sans` · sans · OFL-1.1 · Tokotype · static
- Page: https://brandsweets.com/fonts/plus-jakarta-sans · font.md: https://brandsweets.com/fonts/plus-jakarta-sans/font.md
- Classification (×0.35): 1.00 — Same class: geometric.
- Metrics (×0.25): 0.85 — x-height 0.54 vs 0.52 for Euclid (near-identical); cap height 0.74 vs 0.70 for Euclid (close); both normal width; both low stroke contrast.
- Traits (×0.20): 0.80 — Shares clean, geometric, modern, monoline (4 of 5 traits).
- Role (×0.10): 0.67 — Both suit heading, ui; Plus Jakarta Sans is not tagged for body.
- Language (×0.05): 0.50 — Covers latin, latin-ext; lacks cyrillic, greek.
- Variable (×0.05): 1.00 — Static instances, like Euclid.
- Family gate: pass — Same family: sans.

### 6. Montserrat Alternates — 86%

- Slug: `montserrat-alternates` · sans · OFL-1.1 · Julieta Ulanovsky, Sol Matas, Juan Pablo del Peral, Jacques Le Bailly · static
- Page: https://brandsweets.com/fonts/montserrat-alternates · font.md: https://brandsweets.com/fonts/montserrat-alternates/font.md
- Classification (×0.35): 1.00 — Same class: geometric.
- Metrics (×0.25): 0.99 — x-height 0.53 vs 0.52 for Euclid (near-identical); cap height 0.70 vs 0.70 for Euclid (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.40 — Shares geometric, monoline (2 of 5 traits).
- Role (×0.10): 1.00 — Both suit body, heading, ui.
- Language (×0.05): 0.75 — Covers cyrillic, latin, latin-ext; lacks greek.
- Variable (×0.05): 1.00 — Static instances, like Euclid.
- Family gate: pass — Same family: sans.

### 7. Outfit — 86%

- Slug: `outfit` · sans · OFL-1.1 · Smartsheet Inc, Rodrigo Fuenzalida · static
- Page: https://brandsweets.com/fonts/outfit · font.md: https://brandsweets.com/fonts/outfit/font.md
- Classification (×0.35): 1.00 — Same class: geometric.
- Metrics (×0.25): 0.89 — x-height 0.47 vs 0.52 for Euclid (close); cap height 0.69 vs 0.70 for Euclid (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.80 — Shares geometric, minimal, modern, monoline (4 of 5 traits).
- Role (×0.10): 0.50 — Both suit heading, ui; Outfit is not tagged for body.
- Language (×0.05): 0.50 — Covers latin, latin-ext; lacks cyrillic, greek.
- Variable (×0.05): 1.00 — Static instances, like Euclid.
- Family gate: pass — Same family: sans.

### 8. Geologica — 85%

- Slug: `geologica` · sans · OFL-1.1 · Monokrom, Sindre Bremnes, Frode Helland · static
- Page: https://brandsweets.com/fonts/geologica · font.md: https://brandsweets.com/fonts/geologica/font.md
- Classification (×0.35): 1.00 — Same class: geometric.
- Metrics (×0.25): 0.95 — x-height 0.49 vs 0.52 for Euclid (close); cap height 0.70 vs 0.70 for Euclid (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.33 — Shares geometric, monoline (2 of 6 traits).
- Role (×0.10): 1.00 — Both suit body, heading, ui.
- Language (×0.05): 1.00 — Covers all of Euclid's subsets (cyrillic, greek, latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like Euclid.
- Family gate: pass — Same family: sans.

## Self-host DM Sans (woff2)

- 100 normal: https://fonts.brandsweets.com/dm-sans/dm-sans-100.woff2
- 200 normal: https://fonts.brandsweets.com/dm-sans/dm-sans-200.woff2
- 300 normal: https://fonts.brandsweets.com/dm-sans/dm-sans-300.woff2
- 400 normal: https://fonts.brandsweets.com/dm-sans/dm-sans-400.woff2
- 500 normal: https://fonts.brandsweets.com/dm-sans/dm-sans-500.woff2
- 600 normal: https://fonts.brandsweets.com/dm-sans/dm-sans-600.woff2
- 700 normal: https://fonts.brandsweets.com/dm-sans/dm-sans-700.woff2
- 800 normal: https://fonts.brandsweets.com/dm-sans/dm-sans-800.woff2
- 900 normal: https://fonts.brandsweets.com/dm-sans/dm-sans-900.woff2
- 100 italic: https://fonts.brandsweets.com/dm-sans/dm-sans-100i.woff2
- 200 italic: https://fonts.brandsweets.com/dm-sans/dm-sans-200i.woff2
- 300 italic: https://fonts.brandsweets.com/dm-sans/dm-sans-300i.woff2
- 400 italic: https://fonts.brandsweets.com/dm-sans/dm-sans-400i.woff2
- 500 italic: https://fonts.brandsweets.com/dm-sans/dm-sans-500i.woff2
- 600 italic: https://fonts.brandsweets.com/dm-sans/dm-sans-600i.woff2
- 700 italic: https://fonts.brandsweets.com/dm-sans/dm-sans-700i.woff2
- 800 italic: https://fonts.brandsweets.com/dm-sans/dm-sans-800i.woff2
- 900 italic: https://fonts.brandsweets.com/dm-sans/dm-sans-900i.woff2

## Connect an agent

Point any MCP client at the BrandSweets fonts endpoint to get this list with scores, or search the catalog:

- Endpoint: https://mcp.brandsweets.com/fonts/mcp
- Tools: `find_alternatives` (e.g. `find_alternatives({ commercialFont: "euclid", limit: 8 })`), `list_commercial_fonts`, `list_fonts`, `suggest_fonts`.
