Free font alternatives
Free alternatives to SF Pro
SF Pro is a commercial neo-grotesque sans from Apple. Free to use only for designing Apple-platform software; not licensed for other web use. Below are the 8 closest free, open-licensed families in the BrandSweets library, ranked by our published, deterministic score — classification, measured proportions, traits, role, language and variable support. Each one is shown in its own face and is free to self-host.
SF Pro is a trademark of its owner, named here only to identify the typeface. We do not host, embed or distribute it; “similar” means similar classification and proportions, nothing more.
- #189% matchcurated picksansOFL-1.1 · Rasmus AnderssonInter
Sphinx of black quartz, judge my vow
Designed for UI at the same sizes; nearly identical x-height, apertures and tabular figures.
Show score breakdownScore breakdown
- Classification×0.35
- 100%
- Same class: neo-grotesque.
- Metrics×0.25
- 92%
- x-height 0.55 vs 0.53 for SF Pro (near-identical); cap height 0.73 vs 0.71 for SF Pro (near-identical); both normal width; both low stroke contrast.
- Traits×0.20
- 80%
- Shares clean, modern, monoline, neutral (4 of 5 traits).
- Role×0.10
- 100%
- Both suit body, heading, ui.
- Language×0.05
- 100%
- Covers all of SF Pro's subsets (cyrillic, greek, latin, latin-ext).
- Variable×0.05
- 0%
- Static instances only; SF Pro is variable.
- Family gate
- Same family: sans.
- #285% matchcurated picksansApache-2.0 · Christian Robertson, ParaType, Font BureauRoboto
Sphinx of black quartz, judge my vow
Android's system UI sans — the closest platform equivalent in feel and coverage.
Show score breakdownScore breakdown
- Classification×0.35
- 100%
- Same class: neo-grotesque.
- Metrics×0.25
- 99%
- x-height 0.53 vs 0.53 for SF Pro (near-identical); cap height 0.71 vs 0.71 for SF Pro (near-identical); both normal width; both low stroke contrast.
- Traits×0.20
- 50%
- Shares modern, monoline, neutral (3 of 6 traits).
- Role×0.10
- 100%
- Both suit body, heading, ui.
- Language×0.05
- 100%
- Covers all of SF Pro's subsets (cyrillic, greek, latin, latin-ext).
- Variable×0.05
- 0%
- Static instances only; SF Pro is variable.
- Family gate
- Same family: sans.
- #378% matchcurated picksansOFL-1.1 · Rodrigo Fuenzalida, Jordan EgstadInstrument Sans
Sphinx of black quartz, judge my vow
Neutral UI sans with a width axis, similar to SF Pro's Display/Text/Compact range.
Show score breakdownScore breakdown
- Classification×0.35
- 100%
- Same class: neo-grotesque.
- Metrics×0.25
- 93%
- x-height 0.51 vs 0.53 for SF Pro (near-identical); cap height 0.72 vs 0.71 for SF Pro (near-identical); both normal width; both low stroke contrast.
- Traits×0.20
- 33%
- Shares monoline, neutral (2 of 6 traits).
- Role×0.10
- 100%
- Both suit body, heading, ui.
- Language×0.05
- 50%
- Covers latin, latin-ext; lacks cyrillic, greek.
- Variable×0.05
- 0%
- Static instances only; SF Pro is variable.
- Family gate
- Same family: sans.
- #487% matchsansOFL-1.1 · Mikhail SharandaManrope
Sphinx of black quartz, judge my vow
Show score breakdownScore breakdown
- Classification×0.35
- 100%
- Same class: neo-grotesque.
- Metrics×0.25
- 95%
- x-height 0.54 vs 0.53 for SF Pro (near-identical); cap height 0.72 vs 0.71 for SF Pro (near-identical); both normal width; both low stroke contrast.
- Traits×0.20
- 67%
- Shares clean, modern, monoline, neutral (4 of 6 traits).
- Role×0.10
- 100%
- Both suit body, heading, ui.
- Language×0.05
- 100%
- Covers all of SF Pro's subsets (cyrillic, greek, latin, latin-ext).
- Variable×0.05
- 0%
- Static instances only; SF Pro is variable.
- Family gate
- Same family: sans.
- #582% matchsansOFL-1.1 · Font Bureau, David Berlow, Santiago Orozco, Irene Vlachou, Ilya Ruderman, Yury Ostromentsky, Mikhail StrukovRoboto Flex
Sphinx of black quartz, judge my vow
Show score breakdownScore breakdown
- Classification×0.35
- 100%
- Same class: neo-grotesque.
- Metrics×0.25
- 96%
- x-height 0.51 vs 0.53 for SF Pro (near-identical); cap height 0.71 vs 0.71 for SF Pro (near-identical); both normal width; both low stroke contrast.
- Traits×0.20
- 40%
- Shares monoline, neutral (2 of 5 traits).
- Role×0.10
- 100%
- Both suit body, heading, ui.
- Language×0.05
- 100%
- Covers all of SF Pro's subsets (cyrillic, greek, latin, latin-ext).
- Variable×0.05
- 0%
- Static instances only; SF Pro is variable.
- Family gate
- Same family: sans.
- #682% matchsansOFL-1.1 · Andrés Briganti, Mateo Zaragoza, Guillermo Rauch, Evil Rabbit, José Rago, Facundo SantanaGeist
Sphinx of black quartz, judge my vow
Show score breakdownScore breakdown
- Classification×0.35
- 100%
- Same class: neo-grotesque.
- Metrics×0.25
- 100%
- x-height 0.53 vs 0.53 for SF Pro (near-identical); cap height 0.71 vs 0.71 for SF Pro (near-identical); both normal width; both low stroke contrast.
- Traits×0.20
- 40%
- Shares monoline, neutral (2 of 5 traits).
- Role×0.10
- 100%
- Both suit body, heading, ui.
- Language×0.05
- 75%
- Covers cyrillic, latin, latin-ext; lacks greek.
- Variable×0.05
- 0%
- Static instances only; SF Pro is variable.
- Family gate
- Same family: sans.
- #782% matchsansApache-2.0 · Steve MattesonArimo
Sphinx of black quartz, judge my vow
Show score breakdownScore breakdown
- Classification×0.35
- 100%
- Same class: neo-grotesque.
- Metrics×0.25
- 94%
- x-height 0.53 vs 0.53 for SF Pro (near-identical); cap height 0.69 vs 0.71 for SF Pro (close); both normal width; both low stroke contrast.
- Traits×0.20
- 40%
- Shares monoline, neutral (2 of 5 traits).
- Role×0.10
- 100%
- Both suit body, heading, ui.
- Language×0.05
- 100%
- Covers all of SF Pro's subsets (cyrillic, greek, latin, latin-ext).
- Variable×0.05
- 0%
- Static instances only; SF Pro is variable.
- Family gate
- Same family: sans.
- #881% matchsansOFL-1.1 · Alexandra Korolkova, Vitaly KuzminGolos Text
Sphinx of black quartz, judge my vow
Show score breakdownScore breakdown
- Classification×0.35
- 100%
- Same class: neo-grotesque.
- Metrics×0.25
- 98%
- x-height 0.53 vs 0.53 for SF Pro (near-identical); cap height 0.70 vs 0.71 for SF Pro (near-identical); both normal width; both low stroke contrast.
- Traits×0.20
- 40%
- Shares monoline, neutral (2 of 5 traits).
- Role×0.10
- 100%
- Both suit body, heading, ui.
- Language×0.05
- 75%
- Covers cyrillic, latin, latin-ext; lacks greek.
- Variable×0.05
- 0%
- Static instances only; SF Pro is variable.
- Family gate
- Same family: sans.
Point any MCP client at the shared fonts endpoint and your agent gets the same ranked list with every axis score — find_alternatives, list_commercial_fonts, list_fonts and suggest_fonts, read-only, no key.
https://mcp.brandsweets.com/fonts/mcpclaude mcp add --transport http brandsweets-fonts https://mcp.brandsweets.com/fonts/mcp
›find a free alternative to SF Pro for a modern brand
Want the agent to remember your picks and write them into a living brand? Create a free BrandSweets workspace.
Use Inter instead
Inter is the top-ranked alternative to SF Pro (89%) and is free to self-host under OFL-1.1. Drop these @font-face rules into your CSS — the .woff2 files are served straight from BrandSweets.
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 100;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-100.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 200;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-200.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 300;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-300.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-400.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 500;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-500.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 600;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-600.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 700;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-700.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 800;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-800.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 900;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-900.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: italic;
font-weight: 100;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-100i.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: italic;
font-weight: 200;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-200i.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: italic;
font-weight: 300;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-300i.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: italic;
font-weight: 400;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-400i.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: italic;
font-weight: 500;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-500i.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: italic;
font-weight: 600;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-600i.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: italic;
font-weight: 700;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-700i.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: italic;
font-weight: 800;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-800i.woff2") format("woff2");
}
@font-face {
font-family: "Inter";
font-style: italic;
font-weight: 900;
font-display: swap;
src: url("https://fonts.brandsweets.com/inter/inter-900i.woff2") format("woff2");
}
/* Usage */
.heading { font-family: "Inter", sans-serif; }What we compare SF Pro on
- Class
- neo-grotesque
- x-height
- 0.53 ≈
- Cap height
- 0.71 ≈
- Width · contrast
- normal · low
- Traits
- neutral, modern, clean, technical, monoline
- Roles
- ui, body, heading
- Languages · variable
- latin, latin-ext, cyrillic, greek · yes
≈ proportions are publicly documented approximations of the regular cut, not measured by us. Open-font metrics are measured from the files. Full formula and thresholds: methodology. Machine-readable: alternatives.md
Questions
- Is SF Pro free?
- No. SF Pro is a commercial typeface from Apple. Free to use only for designing Apple-platform software; not licensed for other web use. The fonts listed here are free, open-licensed alternatives you can download, self-host and use commercially.
- What is the closest free alternative to SF Pro?
- Inter scores 89% against SF Pro on our published formula. Designed for UI at the same sizes; nearly identical x-height, apertures and tabular figures. It is licensed OFL-1.1, so it is free to self-host.
- How are these alternatives ranked?
- By a fixed, published score — 0.35 classification, 0.25 measured proportions (x-height, cap height, width, stroke contrast), 0.20 traits, 0.10 role, 0.05 language coverage, 0.05 variable support — after a family gate: specialist families (blackletter, script, glyphic, stencil, monospace) only list same-family fonts, and any cross-family match is capped at 0.2. No model or vote; the same inputs always give the same ranking. Hand-curated picks are labelled and listed first.
Build a brand around Inter
Turn the pick into a full identity — colors, type roles, logo, and agent-readable tokens your future sessions already know.