# Free alternatives to Charter

Charter is a commercial transitional serif from Bitstream (Matthew Carter) (https://practicaltypography.com/charter.html). Bitstream Charter is free under a permissive license; commercial cuts (Charter ITC, XCharter) vary — check before web 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: `charter`
- Category: serif · Class: transitional
- Traits: neutral, classic, editorial, technical
- Roles: body, longform
- Metrics: x-height 0.48, cap height 0.68, normal width, low contrast (approximate, publicly documented)
- Languages: latin, latin-ext · Variable: no
- Page: https://brandsweets.com/fonts/alternatives/charter

## 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. IBM Plex Serif — 86%

- Slug: `ibm-plex-serif` · serif · OFL-1.1 · Mike Abbink, Bold Monday · static
- Page: https://brandsweets.com/fonts/ibm-plex-serif · font.md: https://brandsweets.com/fonts/ibm-plex-serif/font.md
- Classification (×0.35): 1.00 — Same class: transitional.
- Metrics (×0.25): 0.76 — x-height 0.52 vs 0.48 for Charter (close); cap height 0.70 vs 0.68 for Charter (near-identical); both normal width; medium stroke contrast vs low for Charter.
- Traits (×0.20): 0.60 — Shares classic, editorial, technical (3 of 5 traits).
- Role (×0.10): 1.00 — Both suit body, longform.
- Language (×0.05): 1.00 — Covers all of Charter's subsets (latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like Charter.
- Family gate: pass — Same family: serif.

### 2. PT Serif — 85%

- Slug: `pt-serif` · serif · OFL-1.1 · ParaType · static
- Page: https://brandsweets.com/fonts/pt-serif · font.md: https://brandsweets.com/fonts/pt-serif/font.md
- Classification (×0.35): 1.00 — Same class: transitional.
- Metrics (×0.25): 0.78 — x-height 0.50 vs 0.48 for Charter (near-identical); cap height 0.70 vs 0.68 for Charter (near-identical); both normal width; medium stroke contrast vs low for Charter.
- Traits (×0.20): 0.50 — Shares classic, editorial (2 of 4 traits).
- Role (×0.10): 1.00 — Both suit body, longform.
- Language (×0.05): 1.00 — Covers all of Charter's subsets (latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like Charter.
- Family gate: pass — Same family: serif.

### 3. Gelasio — 83%

- Slug: `gelasio` · serif · OFL-1.1 · static
- Page: https://brandsweets.com/fonts/gelasio · font.md: https://brandsweets.com/fonts/gelasio/font.md
- Classification (×0.35): 1.00 — Same class: transitional.
- Metrics (×0.25): 0.84 — x-height 0.48 vs 0.48 for Charter (near-identical); cap height 0.69 vs 0.68 for Charter (near-identical); both normal width; medium stroke contrast vs low for Charter.
- Traits (×0.20): 0.50 — Shares classic, editorial (2 of 4 traits).
- Role (×0.10): 0.67 — Both suit body, longform.
- Language (×0.05): 1.00 — Covers all of Charter's subsets (latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like Charter.
- Family gate: pass — Same family: serif.

### 4. Source Serif 4 — 83%

- Slug: `source-serif-4` · serif · OFL-1.1 · Frank Grießhammer · static
- Page: https://brandsweets.com/fonts/source-serif-4 · font.md: https://brandsweets.com/fonts/source-serif-4/font.md
- Classification (×0.35): 1.00 — Same class: transitional.
- Metrics (×0.25): 0.84 — x-height 0.47 vs 0.48 for Charter (near-identical); cap height 0.67 vs 0.68 for Charter (near-identical); both normal width; medium stroke contrast vs low for Charter.
- Traits (×0.20): 0.33 — Shares classic, editorial (2 of 6 traits).
- Role (×0.10): 1.00 — Both suit body, longform.
- Language (×0.05): 1.00 — Covers all of Charter's subsets (latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like Charter.
- Family gate: pass — Same family: serif.

### 5. Lora — 81%

- Slug: `lora` · serif · OFL-1.1 · Cyreal · static
- Page: https://brandsweets.com/fonts/lora · font.md: https://brandsweets.com/fonts/lora/font.md
- Classification (×0.35): 1.00 — Same class: transitional.
- Metrics (×0.25): 0.78 — x-height 0.50 vs 0.48 for Charter (near-identical); cap height 0.70 vs 0.68 for Charter (near-identical); both normal width; medium stroke contrast vs low for Charter.
- Traits (×0.20): 0.33 — Shares classic, editorial (2 of 6 traits).
- Role (×0.10): 1.00 — Both suit body, longform.
- Language (×0.05): 1.00 — Covers all of Charter's subsets (latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like Charter.
- Family gate: pass — Same family: serif.

### 6. Domine — 81%

- Slug: `domine` · serif · OFL-1.1 · Impallari Type · static
- Page: https://brandsweets.com/fonts/domine · font.md: https://brandsweets.com/fonts/domine/font.md
- Classification (×0.35): 1.00 — Same class: transitional.
- Metrics (×0.25): 0.65 — x-height 0.54 vs 0.48 for Charter (noticeably different); cap height 0.72 vs 0.68 for Charter (close); both normal width; medium stroke contrast vs low for Charter.
- Traits (×0.20): 0.50 — Shares classic, editorial (2 of 4 traits).
- Role (×0.10): 1.00 — Both suit body, longform.
- Language (×0.05): 1.00 — Covers all of Charter's subsets (latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like Charter.
- Family gate: pass — Same family: serif.

### 7. Spectral — 81%

- Slug: `spectral` · serif · OFL-1.1 · Production Type · static
- Page: https://brandsweets.com/fonts/spectral · font.md: https://brandsweets.com/fonts/spectral/font.md
- Classification (×0.35): 1.00 — Same class: transitional.
- Metrics (×0.25): 0.76 — x-height 0.45 vs 0.48 for Charter (close); cap height 0.66 vs 0.68 for Charter (close); both normal width; medium stroke contrast vs low for Charter.
- Traits (×0.20): 0.33 — Shares classic, editorial (2 of 6 traits).
- Role (×0.10): 1.00 — Both suit body, longform.
- Language (×0.05): 1.00 — Covers all of Charter's subsets (latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like Charter.
- Family gate: pass — Same family: serif.

### 8. Roboto Serif — 80%

- Slug: `roboto-serif` · serif · OFL-1.1 · Commercial Type, Greg Gazdowicz · static
- Page: https://brandsweets.com/fonts/roboto-serif · font.md: https://brandsweets.com/fonts/roboto-serif/font.md
- Classification (×0.35): 1.00 — Same class: transitional.
- Metrics (×0.25): 0.72 — x-height 0.52 vs 0.48 for Charter (close); cap height 0.71 vs 0.68 for Charter (close); both normal width; medium stroke contrast vs low for Charter.
- Traits (×0.20): 0.50 — Shares classic, editorial (2 of 4 traits).
- Role (×0.10): 0.67 — Both suit body, longform.
- Language (×0.05): 1.00 — Covers all of Charter's subsets (latin, latin-ext).
- Variable (×0.05): 1.00 — Static instances, like Charter.
- Family gate: pass — Same family: serif.

## Self-host IBM Plex Serif (woff2)

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