# Free alternatives to FF Real

FF Real is a commercial neo-grotesque sans from FontFont / Monotype (https://www.myfonts.com/collections/ff-real-font-fontfont). Commercial; licensed from Monotype. 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: `ff-real`
- Category: sans · Class: neo-grotesque, grotesque
- Traits: neutral, classic, clean, monoline
- Roles: body, heading, ui
- 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/ff-real

## 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. Roboto Flex — 89%

- Slug: `roboto-flex` · sans · OFL-1.1 · Font Bureau, David Berlow, Santiago Orozco, Irene Vlachou, Ilya Ruderman, Yury Ostromentsky, Mikhail Strukov · static
- Page: https://brandsweets.com/fonts/roboto-flex · font.md: https://brandsweets.com/fonts/roboto-flex/font.md
- Classification (×0.35): 1.00 — Same class: neo-grotesque.
- Metrics (×0.25): 0.96 — x-height 0.51 vs 0.52 for FF Real (near-identical); cap height 0.71 vs 0.70 for FF Real (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.50 — Shares monoline, neutral (2 of 4 traits).
- Role (×0.10): 1.00 — Both suit body, heading, ui.
- Language (×0.05): 1.00 — Covers all of FF Real's subsets (cyrillic, greek, latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like FF Real.
- Family gate: pass — Same family: sans.

### 2. Inter — 89%

- Slug: `inter` · sans · OFL-1.1 · Rasmus Andersson · static
- Page: https://brandsweets.com/fonts/inter · font.md: https://brandsweets.com/fonts/inter/font.md
- Classification (×0.35): 1.00 — Same class: neo-grotesque.
- Metrics (×0.25): 0.88 — x-height 0.55 vs 0.52 for FF Real (close); cap height 0.73 vs 0.70 for FF Real (close); both normal width; both low stroke contrast.
- Traits (×0.20): 0.60 — Shares clean, monoline, neutral (3 of 5 traits).
- Role (×0.10): 1.00 — Both suit body, heading, ui.
- Language (×0.05): 1.00 — Covers all of FF Real's subsets (cyrillic, greek, latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like FF Real.
- Family gate: pass — Same family: sans.

### 3. Arimo — 89%

- Slug: `arimo` · sans · Apache-2.0 · Steve Matteson · static
- Page: https://brandsweets.com/fonts/arimo · font.md: https://brandsweets.com/fonts/arimo/font.md
- Classification (×0.35): 1.00 — Same class: neo-grotesque.
- Metrics (×0.25): 0.95 — x-height 0.53 vs 0.52 for FF Real (near-identical); cap height 0.69 vs 0.70 for FF Real (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.50 — Shares monoline, neutral (2 of 4 traits).
- Role (×0.10): 1.00 — Both suit body, heading, ui.
- Language (×0.05): 1.00 — Covers all of FF Real's subsets (cyrillic, greek, latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like FF Real.
- Family gate: pass — Same family: sans.

### 4. Golos Text — 88%

- Slug: `golos-text` · sans · OFL-1.1 · Alexandra Korolkova, Vitaly Kuzmin · static
- Page: https://brandsweets.com/fonts/golos-text · font.md: https://brandsweets.com/fonts/golos-text/font.md
- Classification (×0.35): 1.00 — Same class: neo-grotesque.
- Metrics (×0.25): 0.98 — x-height 0.53 vs 0.52 for FF Real (near-identical); cap height 0.70 vs 0.70 for FF Real (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.50 — Shares monoline, neutral (2 of 4 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 FF Real.
- Family gate: pass — Same family: sans.

### 5. Manrope — 88%

- 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: neo-grotesque.
- Metrics (×0.25): 0.91 — x-height 0.54 vs 0.52 for FF Real (near-identical); cap height 0.72 vs 0.70 for FF Real (close); both normal width; both low stroke contrast.
- Traits (×0.20): 0.50 — Shares clean, monoline, neutral (3 of 6 traits).
- Role (×0.10): 1.00 — Both suit body, heading, ui.
- Language (×0.05): 1.00 — Covers all of FF Real's subsets (cyrillic, greek, latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like FF Real.
- Family gate: pass — Same family: sans.

### 6. Geist — 88%

- Slug: `geist` · sans · OFL-1.1 · Andrés Briganti, Mateo Zaragoza, Guillermo Rauch, Evil Rabbit, José Rago, Facundo Santana · static
- Page: https://brandsweets.com/fonts/geist · font.md: https://brandsweets.com/fonts/geist/font.md
- Classification (×0.35): 1.00 — Same class: neo-grotesque.
- Metrics (×0.25): 0.95 — x-height 0.53 vs 0.52 for FF Real (near-identical); cap height 0.71 vs 0.70 for FF Real (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.50 — Shares monoline, neutral (2 of 4 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 FF Real.
- Family gate: pass — Same family: sans.

### 7. Inter Tight — 87%

- Slug: `inter-tight` · sans · OFL-1.1 · Rasmus Andersson · static
- Page: https://brandsweets.com/fonts/inter-tight · font.md: https://brandsweets.com/fonts/inter-tight/font.md
- Classification (×0.35): 1.00 — Same class: neo-grotesque.
- Metrics (×0.25): 0.88 — x-height 0.55 vs 0.52 for FF Real (close); cap height 0.73 vs 0.70 for FF Real (close); both normal width; both low stroke contrast.
- Traits (×0.20): 0.50 — Shares monoline, neutral (2 of 4 traits).
- Role (×0.10): 1.00 — Both suit body, heading, ui.
- Language (×0.05): 1.00 — Covers all of FF Real's subsets (cyrillic, greek, latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like FF Real.
- Family gate: pass — Same family: sans.

### 8. Geologica — 87%

- 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: neo-grotesque.
- Metrics (×0.25): 0.95 — x-height 0.49 vs 0.52 for FF Real (close); cap height 0.70 vs 0.70 for FF Real (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.40 — Shares monoline, neutral (2 of 5 traits).
- Role (×0.10): 1.00 — Both suit body, heading, ui.
- Language (×0.05): 1.00 — Covers all of FF Real's subsets (cyrillic, greek, latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like FF Real.
- Family gate: pass — Same family: sans.

## Self-host Roboto Flex (woff2)

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