# Free alternatives to Product Sans

Product Sans is a commercial geometric sans from Google (https://design.google/library/evolving-google-identity). Proprietary to Google branding; not licensed for third-party use. 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: `product-sans`
- Also searched as: Google Sans
- Category: sans · Class: geometric
- Traits: friendly, modern, geometric, clean, monoline
- Roles: heading, display, ui
- Metrics: x-height 0.53, cap height 0.71, normal width, low contrast (approximate, publicly documented)
- Languages: latin · Variable: no
- Page: https://brandsweets.com/fonts/alternatives/product-sans

## 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. Poppins — 94% (curated)

- Slug: `poppins` · sans · OFL-1.1 · Indian Type Foundry, Jonny Pinhorn, Ninad Kale · static
- Page: https://brandsweets.com/fonts/poppins · font.md: https://brandsweets.com/fonts/poppins/font.md
- Why (curated): Geometric with the same perfect circles and friendly, even weight.
- Classification (×0.35): 1.00 — Same class: geometric.
- Metrics (×0.25): 0.93 — x-height 0.55 vs 0.53 for Product Sans (near-identical); cap height 0.70 vs 0.71 for Product Sans (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.80 — Shares friendly, geometric, modern, monoline (4 of 5 traits).
- Role (×0.10): 1.00 — Both suit display, heading, ui.
- Language (×0.05): 1.00 — Covers all of Product Sans's subsets (latin).
- Variable (×0.05): 1.00 — Static instances, like Product Sans.
- Family gate: pass — Same family: sans.

### 2. Outfit — 86% (curated)

- 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
- Why (curated): Round geometric with Product Sans' single-storey 'a' and clean bowls.
- Classification (×0.35): 1.00 — Same class: geometric.
- Metrics (×0.25): 0.85 — x-height 0.47 vs 0.53 for Product Sans (close); cap height 0.69 vs 0.71 for Product Sans (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.50 — Shares geometric, modern, monoline (3 of 6 traits).
- Role (×0.10): 1.00 — Both suit display, heading, ui.
- Language (×0.05): 1.00 — Covers all of Product Sans's subsets (latin).
- Variable (×0.05): 1.00 — Static instances, like Product Sans.
- Family gate: pass — Same family: sans.

### 3. Figtree — 93% (curated)

- Slug: `figtree` · sans · OFL-1.1 · Erik Kennedy · static
- Page: https://brandsweets.com/fonts/figtree · font.md: https://brandsweets.com/fonts/figtree/font.md
- Why (curated): Friendly geometric with Product Sans' approachable, round skeleton.
- Classification (×0.35): 1.00 — Same class: geometric.
- Metrics (×0.25): 0.91 — x-height 0.50 vs 0.53 for Product Sans (close); cap height 0.70 vs 0.71 for Product Sans (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 1.00 — Shares clean, friendly, geometric, modern, monoline (5 of 5 traits).
- Role (×0.10): 0.50 — Both suit heading, ui; Figtree is not tagged for display.
- Language (×0.05): 1.00 — Covers all of Product Sans's subsets (latin).
- Variable (×0.05): 1.00 — Static instances, like Product Sans.
- Family gate: pass — Same family: sans.

### 4. Red Hat Display — 91%

- Slug: `red-hat-display` · sans · OFL-1.1 · MCKL · static
- Page: https://brandsweets.com/fonts/red-hat-display · font.md: https://brandsweets.com/fonts/red-hat-display/font.md
- Classification (×0.35): 1.00 — Same class: geometric.
- Metrics (×0.25): 0.91 — x-height 0.50 vs 0.53 for Product Sans (close); cap height 0.70 vs 0.71 for Product Sans (near-identical); 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 display, heading; Red Hat Display is not tagged for ui.
- Language (×0.05): 1.00 — Covers all of Product Sans's subsets (latin).
- Variable (×0.05): 1.00 — Static instances, like Product Sans.
- Family gate: pass — Same family: sans.

### 5. Plus Jakarta Sans — 90%

- 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.90 — x-height 0.54 vs 0.53 for Product Sans (near-identical); cap height 0.74 vs 0.71 for Product Sans (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 display.
- Language (×0.05): 1.00 — Covers all of Product Sans's subsets (latin).
- Variable (×0.05): 1.00 — Static instances, like Product Sans.
- Family gate: pass — Same family: sans.

### 6. Rubik — 89%

- Slug: `rubik` · sans · OFL-1.1 · Hubert and Fischer, Meir Sadan, Cyreal, Daniel Grumer, Omaima Dajani · static
- Page: https://brandsweets.com/fonts/rubik · font.md: https://brandsweets.com/fonts/rubik/font.md
- Classification (×0.35): 1.00 — Same class: geometric.
- Metrics (×0.25): 0.95 — x-height 0.52 vs 0.53 for Product Sans (near-identical); cap height 0.70 vs 0.71 for Product Sans (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.67 — Shares friendly, geometric, modern, monoline (4 of 6 traits).
- Role (×0.10): 0.67 — Both suit heading, ui; Rubik is not tagged for display.
- Language (×0.05): 1.00 — Covers all of Product Sans's subsets (latin).
- Variable (×0.05): 1.00 — Static instances, like Product Sans.
- Family gate: pass — Same family: sans.

### 7. Manrope — 87%

- 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.95 — x-height 0.54 vs 0.53 for Product Sans (near-identical); cap height 0.72 vs 0.71 for Product Sans (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): 0.50 — Both suit heading, ui; Manrope is not tagged for display.
- Language (×0.05): 1.00 — Covers all of Product Sans's subsets (latin).
- Variable (×0.05): 1.00 — Static instances, like Product Sans.
- Family gate: pass — Same family: sans.

### 8. Righteous — 86%

- Slug: `righteous` · display · OFL-1.1 · Astigmatic · static
- Page: https://brandsweets.com/fonts/righteous · font.md: https://brandsweets.com/fonts/righteous/font.md
- Classification (×0.35): 1.00 — Same class: geometric.
- Metrics (×0.25): 0.97 — x-height 0.53 vs 0.53 for Product Sans (near-identical); cap height 0.70 vs 0.71 for Product Sans (near-identical); both normal width; both low stroke contrast.
- Traits (×0.20): 0.50 — Shares friendly, geometric, monoline (3 of 6 traits).
- Role (×0.10): 0.67 — Both suit display, heading; Righteous is not tagged for ui.
- Language (×0.05): 1.00 — Covers all of Product Sans's subsets (latin).
- Variable (×0.05): 1.00 — Static instances, like Product Sans.
- Family gate: pass — Same family: sans.

## Self-host Poppins (woff2)

- 100 normal: https://fonts.brandsweets.com/poppins/poppins-100.woff2
- 100 italic: https://fonts.brandsweets.com/poppins/poppins-100i.woff2
- 200 normal: https://fonts.brandsweets.com/poppins/poppins-200.woff2
- 200 italic: https://fonts.brandsweets.com/poppins/poppins-200i.woff2
- 300 normal: https://fonts.brandsweets.com/poppins/poppins-300.woff2
- 300 italic: https://fonts.brandsweets.com/poppins/poppins-300i.woff2
- 400 normal: https://fonts.brandsweets.com/poppins/poppins-400.woff2
- 400 italic: https://fonts.brandsweets.com/poppins/poppins-400i.woff2
- 500 normal: https://fonts.brandsweets.com/poppins/poppins-500.woff2
- 500 italic: https://fonts.brandsweets.com/poppins/poppins-500i.woff2
- 600 normal: https://fonts.brandsweets.com/poppins/poppins-600.woff2
- 600 italic: https://fonts.brandsweets.com/poppins/poppins-600i.woff2
- 700 normal: https://fonts.brandsweets.com/poppins/poppins-700.woff2
- 700 italic: https://fonts.brandsweets.com/poppins/poppins-700i.woff2
- 800 normal: https://fonts.brandsweets.com/poppins/poppins-800.woff2
- 800 italic: https://fonts.brandsweets.com/poppins/poppins-800i.woff2
- 900 normal: https://fonts.brandsweets.com/poppins/poppins-900.woff2
- 900 italic: https://fonts.brandsweets.com/poppins/poppins-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: "product-sans", limit: 8 })`), `list_commercial_fonts`, `list_fonts`, `suggest_fonts`.
