When you build dark mode Figma UI kits, font pairing spacing and sizing rules become the invisible architecture that determines whether your interface feels premium or broken. Light text on dark backgrounds behaves differently than the reverse letterforms appear bolder, optical spacing tightens, and hierarchy collapses if you simply invert a light-mode system without recalibrating your typographic foundations.
Dark mode introduces a phenomenon called irradiation: light-colored text on dark backgrounds appears slightly larger and more tightly packed than the same text on white. This means that a 16px line height that feels comfortable in light mode can become suffocating in dark mode. Your font pairing spacing and sizing rules for dark mode Figma UI kits must account for this visual expansion from the start.
The core principle is straightforward increase breathing room without increasing font weight. Adjust letter-spacing (tracking) by +0.01em to +0.03em for body text, and bump line-height by roughly 4–8% compared to your light-mode values. These micro-adjustments prevent the "wall of gray" effect that makes dark UIs unreadable.
A sans-serif heading paired with a serif body works well in light mode because contrast between typefaces creates natural hierarchy. In dark mode, that contrast flattens. The bolder appearance of light-on-dark type makes both fonts feel similarly weighted, so readers lose their wayfinding cues.
The fix is to exaggerate scale differences between paired fonts in dark mode. If your heading-to-body ratio is 1.5x in light mode, push it to 1.6x or 1.75x in dark mode. In your Figma UI kit, create separate text style tokens for example, heading-on-dark and body-on-dark so these adjustments remain systematic rather than ad hoc.
Not every dark-mode kit requires the same rules. Match your adjustments to context:
This creates excessive contrast that causes eye strain and halation. Use off-white (#E0E0E0 to #F5F5F5) on dark grays (#121212 to #1E1E1E) instead. Most Material Design dark themes follow this pattern for good reason.
Your Figma component library should include separate spacing and sizing variables for light and dark contexts. Use Figma's variable modes feature to switch between them without manually editing each component.
If your light-mode heading uses Semibold (600), consider dropping it to Medium (500) in dark mode to prevent visual heaviness. Counterintuitively, lighter weights on dark backgrounds often read as bolder than their numeric value suggests.
Systematic font pairing spacing and sizing rules for dark mode Figma UI kits remove guesswork from your design process. Build the rules into your variables once, and every screen your team creates will maintain the same calibrated readability no matter how complex the interface becomes.
Learn MorePerfect Font Pairings for Figma