Screenshot fonts that work across App Store locales
TL;DR. Inter, SF Pro, GT America, Geist, and Söhne are the safe bets. Use weight
700-900 for headlines, never thinner than 600. For non-Latin locales (Arabic, Hebrew, Hindi,
Thai, CJK), fall back to system fonts — most marketing typefaces don't include those scripts.
Decorative display fonts almost always fail at thumbnail size.
Font choice on App Store screenshots has three constraints most general typography decisions
don't have: thumbnail legibility, App Store renderer behavior, and 39-locale script coverage.
Pick a font that fails any of the three and your carousel converts worse than it should.
The thumbnail legibility test
App Store search results show screenshots at roughly 200-260 px wide — about 1/6 of the
original 1320 × 2868. Caption text that's 100 px tall in your design renders at ~15 px in
the thumbnail. At that size, fine-stroke fonts (Helvetica Light, Avenir Next Ultra-Light,
Playfair Display Thin) become indistinct smudges.
The fonts that hold up at thumbnail size share a few traits:
Wide x-height (taller lowercase letters relative to caps)
Heavy weight (700-900)
Open apertures (the negative space in letters like 'c', 'e', 'a' stays open at small sizes)
Consistent stroke width (no thin-to-thick contrast)
Fonts that work for Latin-script locales
Tested and consistent in App Store carousel use:
Inter (free, open source) — our default. Inter Bold and Inter Black render
well at every size. Covers Latin, Cyrillic, Greek, Vietnamese out of the box. The most
common app-screenshot font in the 2025-2026 indie ecosystem.
SF Pro (Apple system) — Apple's own typeface. Free to use in marketing for
iOS apps per Apple's font license. Renders identically on every iOS device. Slightly more
"Apple-default" feeling than Inter, which can be a feature or a bug depending on brand.
Söhne (paid, Klim Type Foundry) — the OpenAI / Anthropic-era darling. Used by
Linear, OpenAI, Vercel. Lots of weights. Expensive license.
GT America (paid, Grilli Type) — geometric sans, lots of weights, ships
well in marketing. Used by Notion, Stripe, others.
Geist (free, Vercel) — recent open-source release. Looks great at thumbnail
sizes. Limited Cyrillic/Greek support.
Roboto / Roboto Flex (Google, free) — the Android-default. Less common on
iOS carousels but reads fine.
Fonts that don't work
Thin / Ultra-Light weights. Below weight 400 turns to mush at thumbnail
size. Pick 600+ always; 700+ for primary captions.
Display fonts with high stroke contrast. Didone serifs (Bodoni, Didot),
condensed display (Bebas, League Spartan Bold Variable) lose definition.
Script / handwriting fonts. Never legible at thumbnail. Skip.
Comic Sans, Papyrus. Yes, someone still tries this. Don't.
Non-Latin scripts
Most marketing fonts don't include Arabic, Hebrew, Hindi (Devanagari), Thai, or CJK glyphs.
When you ship a carousel translated to those locales, the font falls back to the system
default. Two reasonable answers:
Accept system fallback per locale. Users in non-Latin markets are used to
system-default fonts and don't notice. The brand consistency you lose isn't worth the
font-loading complexity you gain.
Pair with multi-script fonts. Noto family (Noto Sans, Noto Serif) covers
virtually every script Apple supports. Pairing Inter for Latin with Noto Sans Arabic,
Noto Sans Hebrew, Noto Sans Devanagari, Noto Sans Thai, and Noto Sans CJK keeps the
visual weight consistent across locales.
For App Store screenshot work, the system-fallback approach is usually pragmatic. The Noto
approach is the right answer for apps where brand consistency across markets matters a lot
(luxury, fashion, design tools).
Faux-bold and faux-italic
Avoid both. Most design tools "synthesize" bold or italic when the actual weight isn't
available — the result looks broken at small sizes and renders especially badly in CJK and
Arabic. Always use the actual weight or italic variant of the font, not a synthesized version.
Practical test: if your font picker only has "Regular" and you're applying bold via a "B"
button, you're getting faux-bold. Switch to a font with a real Bold weight available.
Letter-spacing for headlines
Most marketing fonts default to a letter-spacing that looks fine in body text but slightly
loose at heading sizes. Tighten by -2% to -4% (tracking) for headline text in screenshots.
It tightens up the visual rhythm and reads better at thumbnail size where individual letters
already feel small.
What we ship by default
Screenshotify defaults to Inter weight 700 for new text layers. Inter's free, open source,
covers Latin/Cyrillic/Greek/Vietnamese, and renders consistently across browsers. For
non-Latin locales the editor falls back to the system default per locale automatically —
which is the pragmatic choice for most apps.