TYPEMATCHSEO

TYPEMATCH.

V2.1

700
400
PAIRING ID: BAD-COD // ETHOS: HANDWRITING + DISPLAY

Balancing Bad Script with Coda

Anchor the expressive personality of Bad Script with the utilitarian clarity of Coda.

Display Face

Bad Script

Weight: 700

Body Face

Coda

Weight: 400

This pairing is engineered for teams that need a clear hierarchy without sacrificing brand voice. Bad Script brings casual, messy, handwritten energy to hero units, pricing sections, and campaign headlines. Coda absorbs the heavy lifting for paragraphs, product storytelling, and UI labels with its blocky, heavy, display texture and dependable rhythm. Together they create a typography stack that scales from high-impact landing pages to dense documentation without retooling your CSS tokens.

Typographic Hierarchy & Scale

H1The Quick Fox
H2The Quick Fox
H3The Quick Fox
PThe quick brown fox jumps over...
Dark Context
Aa

High contrast negative space.

Accent
Gg

Legibility on high-chroma.

Pairing Strategy

Balancing Bad Script with Coda

Anchor the expressive personality of Bad Script with the utilitarian clarity of Coda.

This pairing is engineered for teams that need a clear hierarchy without sacrificing brand voice. Bad Script brings casual, messy, handwritten energy to hero units, pricing sections, and campaign headlines. Coda absorbs the heavy lifting for paragraphs, product storytelling, and UI labels with its blocky, heavy, display texture and dependable rhythm. Together they create a typography stack that scales from high-impact landing pages to dense documentation without retooling your CSS tokens.

Bad Script thrives as a headline face thanks to its casual, messy, handwritten qualities. Use weights 400–600 for crisp editorial lockups.
Coda excels in paragraphs and UI thanks to its blocky, heavy, display traits. Keep it between weights 400–600 for optimal readability.
Hierarchy guidance: run a 1:1.4 modular scale and reserve Bad Script for H1–H3 while Coda powers captions, body copy, and data tables.

Best-Fit Use Cases

  • High-growth SaaS landing pages that require casual hero statements with trustworthy product copy.
  • Editorial magazines and thought-leadership hubs where Bad Script can dramatize pull quotes while Coda keeps 1,500-word essays skimmable.
  • Conversion funnels or onboarding flows that need Coda's blocky voice to balance Bad Script's attention-grabbing display.

Accessibility Notes

Maintain a minimum 4.5:1 contrast ratio for Coda body copy and loosen letter-spacing to 0.01em for uppercase Bad Script moments. Pairing different categories demands disciplined color pairing—test both light and dark themes to ensure Coda does not bloom at small sizes.

CSS Implementation Cheatsheet

:root {
  --tm-header-family: 'Bad Script', handwriting;
  --tm-body-family: 'Coda', display;
  --tm-header-weight: 400;
  --tm-body-weight: 400;
  --tm-header-tracking: -0.04em;
  --tm-body-tracking: 0em;
}
Heading scale: clamp(2.75rem, 4.5vw, 5.25rem) for H1, clamp(1.5rem, 2.8vw, 3rem) for H2, and keep paragraph size at 1rem–1.125rem with 1.6 line-height.
Component guidance: Buttons inherit Bad Script at 400 for momentum, while forms, tables, and footnotes stay on Coda with 400 weight for predictable kerning.

FAQs

Why does Bad Script make sense as the lead font?

Bad Script owns the emotional register of this system. Its casual, messy, handwritten profile helps anchor campaign creative, meaning marketing and product teams can reuse the same voice without reinventing the scale.

Where should Coda show up?

Coda is the workhorse. Keep it in paragraphs, long-form editorial, knowledge bases, or anywhere legibility is non-negotiable. Its blocky, heavy, display qualities reduce fatigue on dense layouts.

Does this pairing support complex localization?

Yes—both families are available on Google Fonts with generous glyph coverage. Test cyrillic/latin accents early, but most Latin-based locales and UI patterns are fully supported.