Design Your Way

Lora Font Pairing

This Lora font pairing tool puts Lora next to 16 partner fonts in real layouts: an article, a landing page, pricing cards or a dashboard. Edit the text, swap the roles, switch to dark mode, then copy the code.

Designer
Cyreal
License
SIL Open Font License
Weights
400 to 700, variable
Pairings
16 tested

Use this pairing

Every Lora pairing side by side

Your heading text set in each partner font, with Lora for the body copy.

    Look for a sans-serif that is built differently from Lora but sits at about the same proportions. That's most of the work. Two 2026 guides, one from Made Good Designs and one from BonFX, end up recommending the same six partners: Montserrat, Inter, Poppins, Raleway, Open Sans and Roboto.

    Where they part ways is the job Lora gets on the page. Cyreal designed it in 2011 as a moderate-contrast text typeface, and Made Good Designs keeps it in the body. BonFX goes the other way and puts Lora in the headline in 14 of its 15 pairings.

    I lean toward the body setup. More on why below.

    How to use the Lora font pairing tool

    This Lora font pairing tool sets Lora next to 16 partner fonts from Google Fonts and shows each pair in layouts you actually ship. Every font on the page is free and licensed under the SIL Open Font License.

    1. Pick a partner from the list. Filter by serif, display or sans if you already know the mood you want.
    2. Switch the layout between Specimen, Article, Landing page, Pricing cards and Dashboard. A pairing that looks great in a hero can feel heavy in a dashboard.
    3. Type your own heading and body text. Real copy shows problems that sample text hides, like long words in a condensed font.
    4. Swap roles to put the partner on the body text and Lora on the headings. Display fonts stay on headings, so the button turns off for them.
    5. Check dark mode and adjust the heading and body sizes.
    6. Copy the code as a Google Fonts link, plain CSS or a Tailwind v4 theme.

    Lora pairings at a glance

    Partner fontTypeHeading weightWorks as body text
    MontserratGeometric sans700Yes
    Playfair DisplayHigh-contrast display serif700No
    MerriweatherScreen serif700Yes
    Source Sans 3UI sans700Yes
    Open SansHumanist sans700Yes
    RobotoNeo-grotesque sans700Yes
    PoppinsGeometric sans600Yes
    RalewayElegant sans700Yes
    Work SansGrotesque sans600Yes
    NunitoRounded sans800Yes
    Plus Jakarta SansGeometric sans700Yes
    OswaldCondensed gothic700No
    CinzelAll-caps inscription serif600No
    Fjalla OneCondensed display sans400No
    Archivo BlackHeavy grotesque display400No
    Dancing ScriptCasual script700No

    Which fonts pair best with Lora?

    Start with the overlap. Made Good Designs (March 2026) and BonFX (2026) were written separately, and both include Montserrat, Inter, Poppins, Raleway, Open Sans and Roboto.

    Sample headline in Montserrat 700 above a paragraph in Lora, the first pairing in the Lora tool

    That agreement counts for more than either list does alone.

    PartnerStyleRole next to LoraWeights suggested
    MontserratGeometric sans-serifHeadingsBold 700 or SemiBold 600
    InterUI-built sans-serifHeadings and UI labelsSemiBold 600 or Bold 700
    PoppinsGeometric sans-serifHeadingsSemiBold 600 or Bold 700
    RalewayElegant geometric sans-serifHeadings and navigationSemiBold 600 or Bold 700
    Open SansHumanist sans-serifHeadings in neutral layoutsBold 700
    RobotoMechanical, near-geometric sans-serifHeadings, mobile readingBold 700 or Medium 500
    Six pairings with Lora: Montserrat, Playfair Display, Merriweather, Source Sans 3, Open Sans, Roboto

    The weights come from Made Good Designs. BonFX uses the same fonts but flips them into body text under Lora headlines.

    How did these six make the cut? Each one is structured differently from Lora's brushed serif, has a similar x-height, offers at least two heading weights at 500 or above, and is free on Google Fonts. Nothing fancier than that.

    If you only test one, test Montserrat. Its strokes are even and its stance is wide, so it looks clean next to Lora's calligraphic softness, and the two share a generous x-height (Made Good Designs, 2026).

    Anyone weighing Montserrat against other partners can read a closer look at how Montserrat behaves with other typefaces.

    A few more show up in just one of the guides. I'd still put them in a test file:

    • Source Sans 3, a humanist body font with tuned spacing made for long reading (BonFX, which lists it under its former name, Source Sans Pro)
    • Work Sans, whose middle weights were drawn for on-screen text (BonFX)
    • Nunito Sans. Friendly without being rounded, and comfortable at body sizes (BonFX)
    • Oswald in Bold 700 uppercase, if you want a condensed headline face (Made Good Designs)

    Open Sans is the safe one. Corporate blogs, government sites and multi-author publications lean on it because it makes no strong style statement (Made Good Designs, 2026). Boring, sometimes, but it rarely fights anything. A wider set of Open Sans pairings shows how far that neutrality stretches.

    Six more pairings with Lora: Poppins, Raleway, Work Sans, Nunito, Plus Jakarta Sans, Oswald

    What kind of typeface is Lora?

    Olga Karpushina and Alexei Vanyashin drew it for the Cyreal foundry, and it came out in 2011 (Cyreal's Lora README on GitHub). It's a contemporary serif with calligraphic roots and moderate stroke contrast, meant for body text.

    The curves look brushed. The serifs are sturdy. Put a paragraph in Lora and it reads warm but still holds its shape. It's a serif font tuned for screens that also does fine in print, so long reading is where it belongs.

    The basic facts, for reference:

    • Released in 2011 by Cyreal
    • 4 weights, Regular 400 to Bold 700, each with a matching italic (Made Good Designs, 2026; Fontsource)
    • A variable font with one weight axis since version 3.001 (Cyreal's README)
    • Latin and Cyrillic scripts, plus Vietnamese glyphs added by Nhung Nguyen
    • SIL Open Font License 1.1, hosted on Google Fonts and GitHub

    The variable font build swaps separate static files for a single weight axis. According to Made Good Designs (2026), that one file is typically smaller than loading three static weights.

    So you've got a warm, organic serif. The partner should be built differently.

    Humanist or geometric: which sans-serif suits Lora better?

    Go geometric when headings need to stand clearly apart from Lora. Go humanist when you'd rather the page sound like one calm voice.

    The two guides don't weigh this the same way. Made Good Designs (March 2026) prefers geometric and grotesque sans-serifs, its worry being that humanist ones feel too close in spirit to Lora.

    BonFX (2026) is more relaxed about it. In its view humanist sans-serifs pair well because they share Lora's organic feel, and geometric designs work too, by making its curves stand out through contrast.

    My read is that Made Good Designs is solving for hierarchy and wants separation, while BonFX is thinking about tone and is fine with either route.

    Underneath that, they agree. Different structure, same proportions. If the x-heights match, the two fonts don't jump when they sit at neighboring sizes.

    Also, the labels are messier than they look. Made Good Designs files Raleway under geometric. BonFX talks about its neo-grotesque forms.

    If I had to turn this into a quick call: Montserrat or Poppins for pages where the headings do the heavy lifting, like portfolios and marketing sites. Open Sans or Source Sans 3 when the sans-serif has to carry small text in documentation or dense reading layouts. And Inter or Roboto when UI labels share the page with Lora articles.

    Lora as body text or as a heading font

    My default is Lora in the body, with headings in a sans-serif at SemiBold 600 or heavier. Two families are enough for body, headings and UI labels. A third family adds weight to the page without adding a role.

    Made Good Designs (2026) puts Lora in the body for most of its pairings and says sans-serif headings over Lora body give stronger results. BonFX (2026) sets Lora as the headline in 14 of its 15 pairings instead, with sans-serif body text ranging from Roboto to IBM Plex Sans underneath.

    Either works. The body role is just closer to what Cyreal drew Lora for (a text typeface), which makes it the lower-risk default.

    Lora as body text

    Set it in Regular 400 at 16 to 18 px. Line height should land between 1.7 and 1.8, and the sample code uses 1.7 and 1.75. Give the partner headings SemiBold 600 or more, because lighter sans-serif headings lose rank against Lora Regular. These numbers all come from Made Good Designs (2026).

    Write leading as a unitless line-height value so it scales with the text size.

    A common misreading: WCAG 2.2 success criterion 1.4.12 (W3C Recommendation, 12 December 2024) does not require an authored line height of 1.5. What it requires is that nothing clips or overlaps when a user forces line height to 1.5 times the font size. In practice, the containers around your Lora paragraphs need room to grow.

    Lora as headings

    Made Good Designs (2026) uses Lora Bold 700 for subheadings in its Playfair Display pairing.

    The body underneath then needs a sans-serif with a clear job. In BonFX's headline specimens, Roboto or Open Sans handle neutral reading, Source Sans Pro (now Source Sans 3) shows up for long articles, and Inter goes on interface-heavy pages.

    With both fonts in play like this, hierarchy depends more on weight and size than on serif versus sans. Squint at the page to check the typographic hierarchy. You should still see headings, subheads and body as separate tiers.

    Using Lora italic

    You don't need a third font. Lora Italic covers it.

    Made Good Designs (2026) uses it for blockquotes, captions and emphasis, and Typewolf singles out the italics for how calligraphic they feel on screen.

    Every weight has its own italic, so emphasizing a word never forces a weight change.

    Matching a Lora pairing to the project type

    It mostly comes down to who reads the page and who controls the typography. Long-form sites keep Lora in the body. Interface-heavy products tend to save it for authored text. Organizations with a brand team usually slot it in next to the sans-serif they already have.

    • For blogs, magazines and book publishing, match the sans-serif to the tone: Roboto for editorial platforms and book publishing, Montserrat for fashion and culture magazines (BonFX, 2026)
    • Boutique e-commerce suits Montserrat headings over Lora body (Made Good Designs, 2026)
    • Documentation and notebooks usually run the interface in the sans-serif and keep Lora for authored headings
    • Public-sector and research bodies keep the house sans-serif and give Lora one role

    Page structure for the long-form cases is covered in this primer on editorial design.

    The marimo notebook project writes the interface split into its design system. PT Sans handles the interface and prose, Lora at SemiBold 600 handles authored markdown headings, and Fira Mono takes the code.

    That's the only three-font setup in these examples. It holds up because the third family does something neither of the others could.

    SciLifeLab, the Swedish national research infrastructure, uses Lato for headlines, captions and brochures, and Lora for body texts and articles (visual identity page, updated August 2026).

    NICE does it the other way round in the typography rules for its Indepth site. Inter covers all body copy and low-level headings, and Lora SemiBold is reserved for top-level headings.

    Both of those come from published brand guidelines, and both give Lora exactly one job. If there's already a house sans-serif, keep it and pick one role for Lora.

    Product screen with a Playfair Display heading, and Lora labels, fields, a table and buttons

    How to set up a Lora pairing in CSS

    Short version: request only the styles you use, set a display value, end every font stack with a generic family, and serve WOFF2.

    1. List the styles the design actually uses. Google Fonts returns requested styles in the most compact set of files, so an unused weight is pure extra download (Google Fonts documentation, July 2024).
    2. Write the request with axes in alphabetical order and the tuples sorted: family=Lora:ital,wght@0,400;0,700;1,400&family=Montserrat:wght@600;700&display=swap. The current API is stricter than the original one and won't accept overlapping tuples.
    3. Connect early. Use a link tag rather than @import, and add preconnect hints for fonts.googleapis.com and fonts.gstatic.com, the second with the crossorigin attribute (web.dev).
    4. Declare the stacks. For body text, Lora goes first and serif last. For headings, the sans-serif partner goes first and sans-serif last.
    5. Set the display behavior. The font-display descriptor has been available across browsers since January 2020 (MDN, last modified September 2026).
    6. Choose where the files live, serve WOFF2, and subset them if you self-host.

    Pick fallbacks class for class from the web-safe fonts already on every device. SciLifeLab's visual identity page (August 2026) names Arial and Times as internal stand-ins for when Lato or Lora is missing.

    Skip font-display and you get hidden text. Chromium and Firefox hide it for up to 3 seconds while a web font loads, and Safari hides it indefinitely (web.dev, last updated 2022).

    With swap, the fallback shows right away and Lora replaces it whenever it arrives, which can shift the layout. Optional is stricter. It waits 100 ms, and if Lora still isn't there it sticks with the fallback, so nothing shifts, but that view never gets Lora.

    web.dev suggests optional for body text and swap for branding elements. The catch is that the Google Fonts URL specification allows one display parameter per request, so splitting by family means two requests or self-hosting.

    Most sites just use swap. The 2024 Web Almanac crawl found it on 44% of desktop pages, and the 2025 crawl on 49.6%. Pair it with a size-adjusted fallback face and the shift gets much smaller (web.dev).

    The hosting advice you'll find depends a lot on when it was written. web.dev (2022) cites an earlier Web Almanac finding that third-party fonts rendered faster than first-party ones, and says self-hosting needs a CDN and HTTP/2 to pay off.

    The 2024 Web Almanac says something different. Since cache partitioning, a shared font CDN no longer helps, and more sites self-host exclusively now.

    It also puts the median Google Fonts WOFF2 payload at 16 KB, compared with 39 KB for self-hosted files. The Almanac suggests Google's automatic subsetting may explain the gap.

    For Lora, my rule is this. Self-host only if you also subset to the scripts you serve and use WOFF2, which compresses 30% better than WOFF (web.dev). If you won't do the subsetting, the Google embed ships smaller files, and this walkthrough of using Google Fonts covers the setup.

    Lora in weights 400, 500, 600, 700, with the weights used for headings and body text in this tool marked

    When does a Lora pairing stop working?

    The core setup is sturdy. The trouble usually starts at the edges: a second serif, scripts Lora doesn't cover, brand rules against italics, logo work, or a variable file loaded for one weight.

    A second serif that sits too close

    Made Good Designs (2026) says two serifs hold up only when they differ in contrast ratio, serif construction and stroke axis. That's why it pairs Playfair Display at 32 px and above with Lora body text.

    The same guide places Lora between Merriweather, which is sturdier with larger serifs, and Source Serif, which is more restrained. BonFX (2026) separates Merriweather from Lora by weight, with Merriweather Black on headlines and Lora on the body. There's more detail on how Merriweather pairs with other fonts.

    Scripts Lora doesn't cover

    Cyreal's README lists Latin and Cyrillic, adds Vietnamese glyphs, and says other scripts could be added later. Anything else falls through to the next family in the stack.

    So the partner's coverage matters too. The 2024 Web Almanac lists Roboto, Open Sans and Montserrat among the top families supporting Cyrillic and Greek. Read that loosely, though, since it counts a script as supported at just 5% of its characters.

    For multilingual platforms, BonFX pairs Lora with PT Sans, which covers Russian and Latin characters.

    Brand systems that ban italics

    NICE's typography rules for its Indepth site tell designers to avoid italics, block capitals and vertically oriented or curved text for the sake of accessibility and legibility. In a system like that, Lora's calligraphic italic has nothing to do.

    Accessibility-led teams can compare those rules with broader advice on fonts for accessibility before settling the pairing.

    Display and logo use

    Cyreal describes Lora as a text typeface with moderate contrast. Every heading use covered in this article stops at top-level headings on content pages. None of the sources I reviewed show it as a logotype face, and I wouldn't push it there.

    A variable file for one weight

    web.dev notes that a variable font typically weighs more than a single static style and only pays off when a page uses several styles. If the page needs one Lora weight, request that weight on its own instead of the whole axis range, as Google's documentation advises.

    None of these touch the basic setup, which is still Lora as body text under a sans-serif heading font.

    Lora next to Fjalla One at one font size, then with font-size-adjust matching the lowercase heights

    Lora Font Pairing FAQ

    Does Lora work in print as well as on screen?

    Yes. The Google Fonts description says it's optimized for screen appearance and works equally well in print. The SIL Open Font License 1.1 covers commercial use in both, so a printed brochure doesn't need a separate license.

    Which free fonts can replace Lora?

    Merriweather and Source Serif, both on Google Fonts. Made Good Designs places Lora between the two. Merriweather is sturdier with larger serifs, Source Serif is more restrained, and the right one depends on how much weight the page needs.

    Can I use Lora on a resume?

    Yes, as body text, since that's what Cyreal built it for. Send a PDF so the font travels with the file. With editable files the reader may not have Lora installed, which is why SciLifeLab keeps it out of email signatures and uses Arial there.

    Do paid fonts like Proxima Nova and Avenir pair with Lora?

    They do. Both lean geometric, which is the kind of sans-serif Made Good Designs prefers beside Lora. Typewolf logs a 2014 site using Avenir with Lora and another using Proxima Nova with Lora, and Adobe Fonts lists Proxima Nova for desktop and web use.

    How can I preview a Lora pairing before coding it?

    Paste real headlines and body copy into a staging page or design file at the sizes your layout actually uses. Typewolf's font pages show live sites if you want something to compare against.

    Testing a Lora Font Pairing on Real Content

    Placeholder text hides problems. Mismatches in weight, spacing and line length only really show up on the live page with real headlines and body copy, so test the pairing there.

    Order matters a bit. Get the headline and body right at production sizes and weights first, since that sets the layout. After that, check italics, bold and every script the content uses, because the final text decides which glyphs you need. Load behavior on a throttled connection comes last. Fallback shifts don't mean much until the fonts are settled.

    This position was checked in November 2026 against the 2024 and 2025 Web Almanac chapters and web.dev guidance last updated in 2022. The hosting and font-display figures change from year to year, so recheck them before changing a production setup.

    Other font pairings

    Same idea, different starting font. Each guide lists tested partners with notes on where they work.

    More on typography