Free Tool
Spacing & Type Scale Calculator
Generate harmonious typography and spacing scales with fluid clamp() values, CSS custom properties, and LESS variables — ready to drop into any Squarespace Dev Mode project.
Why this matters
Consistent spacing and typography are what separate a professional website from a DIY one. This tool calculates a mathematical spacing scale and fluid font sizes that look perfect on every screen size — from phones to ultrawide monitors.
Typography Scale
Define a base size and a modular scale ratio. The calculator generates every step from xs to 5xl with fluid clamp() values for responsive sizing.
Fluid clamp() Values
clamp(0.481rem, 0.42406rem + 0.244vw, 0.638rem)clamp(0.6rem, 0.52688rem + 0.312vw, 0.8rem)clamp(0.75rem, 0.65863rem + 0.39vw, 1rem)clamp(0.938rem, 0.82313rem + 0.488vw, 1.25rem)clamp(1.175rem, 1.03319rem + 0.605vw, 1.563rem)clamp(1.469rem, 1.29038rem + 0.761vw, 1.956rem)clamp(1.831rem, 1.60719rem + 0.956vw, 2.444rem)clamp(2.288rem, 2.00863rem + 1.19vw, 3.05rem)clamp(2.863rem, 2.51494rem + 1.483vw, 3.813rem):root {
--font-size-xs: 0.638rem;
--font-size-sm: 0.8rem;
--font-size-base: 1rem;
--font-size-lg: 1.25rem;
--font-size-xl: 1.563rem;
--font-size-2xl: 1.956rem;
--font-size-3xl: 2.444rem;
--font-size-4xl: 3.05rem;
--font-size-5xl: 3.813rem;
/* Fluid (clamp) versions */
--font-size-xs-fluid: clamp(0.481rem, 0.42406rem + 0.244vw, 0.638rem);
--font-size-sm-fluid: clamp(0.6rem, 0.52688rem + 0.312vw, 0.8rem);
--font-size-base-fluid: clamp(0.75rem, 0.65863rem + 0.39vw, 1rem);
--font-size-lg-fluid: clamp(0.938rem, 0.82313rem + 0.488vw, 1.25rem);
--font-size-xl-fluid: clamp(1.175rem, 1.03319rem + 0.605vw, 1.563rem);
--font-size-2xl-fluid: clamp(1.469rem, 1.29038rem + 0.761vw, 1.956rem);
--font-size-3xl-fluid: clamp(1.831rem, 1.60719rem + 0.956vw, 2.444rem);
--font-size-4xl-fluid: clamp(2.288rem, 2.00863rem + 1.19vw, 3.05rem);
--font-size-5xl-fluid: clamp(2.863rem, 2.51494rem + 1.483vw, 3.813rem);
}Unlock design token exports
Spacing Scale
Build a consistent spacing system from a single base unit. Every token is a multiplier of the base, keeping all whitespace in harmony.
:root {
--space-1: 0.125rem; /* 2px — 0.25x */
--space-2: 0.25rem; /* 4px — 0.5x */
--space-3: 0.5rem; /* 8px — 1x */
--space-4: 0.75rem; /* 12px — 1.5x */
--space-5: 1rem; /* 16px — 2x */
--space-6: 1.5rem; /* 24px — 3x */
--space-7: 2rem; /* 32px — 4x */
--space-8: 2.5rem; /* 40px — 5x */
--space-9: 3rem; /* 48px — 6x */
--space-10: 4rem; /* 64px — 8x */
--space-11: 5rem; /* 80px — 10x */
}@space-1: 0.125rem; // 2px — 0.25x @space-2: 0.25rem; // 4px — 0.5x @space-3: 0.5rem; // 8px — 1x @space-4: 0.75rem; // 12px — 1.5x @space-5: 1rem; // 16px — 2x @space-6: 1.5rem; // 24px — 3x @space-7: 2rem; // 32px — 4x @space-8: 2.5rem; // 40px — 5x @space-9: 3rem; // 48px — 6x @space-10: 4rem; // 64px — 8x @space-11: 5rem; // 80px — 10x
Unlock design token exports
Full Design Tokens
All typography and spacing tokens combined into a single copyable block. Drop this into your base.less or global stylesheet.
/* ═══ Design Tokens ═══ */
/* Typography Scale */
:root {
--font-size-xs: 0.638rem;
--font-size-sm: 0.8rem;
--font-size-base: 1rem;
--font-size-lg: 1.25rem;
--font-size-xl: 1.563rem;
--font-size-2xl: 1.956rem;
--font-size-3xl: 2.444rem;
--font-size-4xl: 3.05rem;
--font-size-5xl: 3.813rem;
--font-size-xs-fluid: clamp(0.481rem, 0.42406rem + 0.244vw, 0.638rem);
--font-size-sm-fluid: clamp(0.6rem, 0.52688rem + 0.312vw, 0.8rem);
--font-size-base-fluid: clamp(0.75rem, 0.65863rem + 0.39vw, 1rem);
--font-size-lg-fluid: clamp(0.938rem, 0.82313rem + 0.488vw, 1.25rem);
--font-size-xl-fluid: clamp(1.175rem, 1.03319rem + 0.605vw, 1.563rem);
--font-size-2xl-fluid: clamp(1.469rem, 1.29038rem + 0.761vw, 1.956rem);
--font-size-3xl-fluid: clamp(1.831rem, 1.60719rem + 0.956vw, 2.444rem);
--font-size-4xl-fluid: clamp(2.288rem, 2.00863rem + 1.19vw, 3.05rem);
--font-size-5xl-fluid: clamp(2.863rem, 2.51494rem + 1.483vw, 3.813rem);
/* Spacing Scale */
--space-1: 0.125rem; /* 2px */
--space-2: 0.25rem; /* 4px */
--space-3: 0.5rem; /* 8px */
--space-4: 0.75rem; /* 12px */
--space-5: 1rem; /* 16px */
--space-6: 1.5rem; /* 24px */
--space-7: 2rem; /* 32px */
--space-8: 2.5rem; /* 40px */
--space-9: 3rem; /* 48px */
--space-10: 4rem; /* 64px */
--space-11: 5rem; /* 80px */
}
/* LESS Variables (spacing) */
@space-1: 0.125rem;
@space-2: 0.25rem;
@space-3: 0.5rem;
@space-4: 0.75rem;
@space-5: 1rem;
@space-6: 1.5rem;
@space-7: 2rem;
@space-8: 2.5rem;
@space-9: 3rem;
@space-10: 4rem;
@space-11: 5rem;Unlock design token exports