# Free alternatives to Druk

Druk is a commercial grotesque from Commercial Type (https://commercialtype.com/catalog/druk). Commercial; licensed from Commercial Type. 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: `druk`
- Category: display · Class: grotesque, display
- Traits: condensed, bold, industrial, editorial, monoline
- Roles: display, heading
- Metrics: x-height 0.65, cap height 0.74, condensed width, low contrast (approximate, publicly documented)
- Languages: latin, latin-ext, cyrillic · Variable: no
- Page: https://brandsweets.com/fonts/alternatives/druk

## 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. Anton — 84% (curated)

- Slug: `anton` · sans · OFL-1.1 · Vernon Adams · static
- Page: https://brandsweets.com/fonts/anton · font.md: https://brandsweets.com/fonts/anton/font.md
- Why (curated): Heavy condensed grotesque with Druk's brutal headline density.
- Classification (×0.35): 1.00 — Same class: grotesque, display.
- Metrics (×0.25): 0.77 — x-height 0.73 vs 0.65 for Druk (noticeably different); both condensed width; both low stroke contrast.
- Traits (×0.20): 0.80 — Shares bold, condensed, industrial, monoline (4 of 5 traits).
- Role (×0.10): 0.50 — Both suit display; Anton is not tagged for heading.
- Language (×0.05): 0.67 — Covers latin, latin-ext; lacks cyrillic.
- Variable (×0.05): 1.00 — Static instances, like Druk.
- Family gate: pass — Same family: sans.

### 2. Bebas Neue — 82% (curated)

- Slug: `bebas-neue` · sans · OFL-1.1 · Ryoichi Tsunekawa · static
- Page: https://brandsweets.com/fonts/bebas-neue · font.md: https://brandsweets.com/fonts/bebas-neue/font.md
- Why (curated): Condensed caps with a similar tall, tight rhythm.
- Classification (×0.35): 1.00 — Same class: grotesque, display.
- Metrics (×0.25): 0.80 — x-height 0.70 vs 0.65 for Druk (close); cap height 0.70 vs 0.74 for Druk (close); both condensed width; both low stroke contrast.
- Traits (×0.20): 0.67 — Shares bold, condensed, industrial, monoline (4 of 6 traits).
- Role (×0.10): 0.50 — Both suit display; Bebas Neue is not tagged for heading.
- Language (×0.05): 0.67 — Covers latin, latin-ext; lacks cyrillic.
- Variable (×0.05): 1.00 — Static instances, like Druk.
- Family gate: pass — Same family: sans.

### 3. League Gothic — 77% (curated)

- Slug: `league-gothic` · sans · OFL-1.1 · static
- Page: https://brandsweets.com/fonts/league-gothic · font.md: https://brandsweets.com/fonts/league-gothic/font.md
- Why (curated): Condensed gothic revival with Druk's compact wood-type feel.
- Classification (×0.35): 1.00 — Same class: grotesque, display.
- Metrics (×0.25): 0.77 — x-height 0.55 vs 0.65 for Druk (noticeably different); cap height 0.73 vs 0.74 for Druk (near-identical); both condensed width; both low stroke contrast.
- Traits (×0.20): 0.60 — Shares condensed, industrial, monoline (3 of 5 traits).
- Role (×0.10): 0.25 — Both suit heading; League Gothic is not tagged for display.
- Language (×0.05): 0.67 — Covers latin, latin-ext; lacks cyrillic.
- Variable (×0.05): 1.00 — Static instances, like Druk.
- Family gate: pass — Same family: sans.

### 4. Oswald — 88%

- Slug: `oswald` · sans · OFL-1.1 · Vernon Adams, Kalapi Gajjar, Cyreal · static
- Page: https://brandsweets.com/fonts/oswald · font.md: https://brandsweets.com/fonts/oswald/font.md
- Classification (×0.35): 1.00 — Same class: grotesque.
- Metrics (×0.25): 0.68 — x-height 0.58 vs 0.65 for Druk (noticeably different); cap height 0.81 vs 0.74 for Druk (noticeably different); both condensed width; both low stroke contrast.
- Traits (×0.20): 0.80 — Shares bold, condensed, industrial, monoline (4 of 5 traits).
- Role (×0.10): 1.00 — Both suit display, heading.
- Language (×0.05): 1.00 — Covers all of Druk's subsets (cyrillic, latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like Druk.
- Family gate: pass — Same family: sans.

### 5. Staatliches — 85%

- Slug: `staatliches` · display · OFL-1.1 · static
- Page: https://brandsweets.com/fonts/staatliches · font.md: https://brandsweets.com/fonts/staatliches/font.md
- Classification (×0.35): 1.00 — Same class: grotesque, display.
- Metrics (×0.25): 0.79 — x-height 0.70 vs 0.65 for Druk (close); cap height 0.70 vs 0.74 for Druk (close); both condensed width; both low stroke contrast.
- Traits (×0.20): 0.60 — Shares condensed, industrial, monoline (3 of 5 traits).
- Role (×0.10): 1.00 — Both suit display, heading.
- Language (×0.05): 0.67 — Covers latin, latin-ext; lacks cyrillic.
- Variable (×0.05): 1.00 — Static instances, like Druk.
- Family gate: pass — Same family: sans.

### 6. News Cycle — 78%

- Slug: `news-cycle` · sans · OFL-1.1 · Nathan Willis · static
- Page: https://brandsweets.com/fonts/news-cycle · font.md: https://brandsweets.com/fonts/news-cycle/font.md
- Classification (×0.35): 1.00 — Same class: grotesque.
- Metrics (×0.25): 0.75 — x-height 0.52 vs 0.65 for Druk (far apart); cap height 0.74 vs 0.74 for Druk (near-identical); both condensed width; both low stroke contrast.
- Traits (×0.20): 0.60 — Shares condensed, industrial, monoline (3 of 5 traits).
- Role (×0.10): 0.25 — Both suit heading; News Cycle is not tagged for display.
- Language (×0.05): 1.00 — Covers all of Druk's subsets (cyrillic, latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like Druk.
- Family gate: pass — Same family: sans.

### 7. Antonio — 77%

- Slug: `antonio` · sans · OFL-1.1 · Vernon Adams · static
- Page: https://brandsweets.com/fonts/antonio · font.md: https://brandsweets.com/fonts/antonio/font.md
- Classification (×0.35): 1.00 — Same class: grotesque.
- Metrics (×0.25): 0.77 — x-height 0.73 vs 0.65 for Druk (noticeably different); both condensed width; both low stroke contrast.
- Traits (×0.20): 0.60 — Shares condensed, industrial, monoline (3 of 5 traits).
- Role (×0.10): 0.25 — Both suit heading; Antonio is not tagged for display.
- Language (×0.05): 0.67 — Covers latin, latin-ext; lacks cyrillic.
- Variable (×0.05): 1.00 — Static instances, like Druk.
- Family gate: pass — Same family: sans.

### 8. Anybody — 76%

- Slug: `anybody` · display · OFL-1.1 · static
- Page: https://brandsweets.com/fonts/anybody · font.md: https://brandsweets.com/fonts/anybody/font.md
- Classification (×0.35): 1.00 — Same class: grotesque, display.
- Metrics (×0.25): 0.59 — x-height 0.59 vs 0.65 for Druk (close); cap height 0.68 vs 0.74 for Druk (noticeably different); normal width vs condensed for Druk; both low stroke contrast.
- Traits (×0.20): 0.40 — Shares industrial, monoline (2 of 5 traits).
- Role (×0.10): 1.00 — Both suit display, heading.
- Language (×0.05): 0.67 — Covers latin, latin-ext; lacks cyrillic.
- Variable (×0.05): 1.00 — Static instances, like Druk.
- Family gate: pass — Same family: sans.

## Self-host Anton (woff2)

- 400 normal: https://fonts.brandsweets.com/anton/anton-400.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: "druk", limit: 8 })`), `list_commercial_fonts`, `list_fonts`, `suggest_fonts`.
