We use essential cookies to make this site work. Optional analytics cookies help us improve your experience. Privacy Policy
CSS Clamp Generator
Generate fluid CSS clamp() expressions for responsive typography and spacing. Set min/max sizes and viewports — copy the rem-based declaration in one.
How to use
Set Min / Max Size — Choose the smallest and largest pixel sizes the value should ever take.
Set Viewport Range — Define the viewport widths where scaling starts and stops.
Copy the clamp() — Paste the generated declaration directly into your CSS.
The CSS Clamp Generator produces fluid, responsive clamp() expressions so your typography and spacing scale smoothly between two viewport widths — no media queries needed.
Features
Min / max size input in pixels (auto-converted to rem).
Min / max viewport width definition.
Live preview of the value at any viewport width.
One-click copy of the complete CSS declaration.
How clamp() works
The function takes three values: a minimum, a preferred (often using viewport units), and a maximum. The browser picks the preferred value but clamps it within the bounds — perfect for fluid type without media-query sprawl.
Frequently asked questions
Why not just use vw?
Pure vw scales without bounds — text becomes huge on 4K monitors and unreadable on tiny screens. clamp() locks the result between a min and a max, while still scaling fluidly in between.
Why rem instead of px?
rem respects the user's root font-size setting, which matters for accessibility. Px ignores that preference and is therefore not recommended for type-sizing.
Does clamp() work in all browsers?
Yes — it is supported in Chrome, Edge, Firefox, Safari and Samsung Internet since 2020 (>97% global).
Can I use this for padding, margin, or gap?
Absolutely. clamp() works on any length value — spacing, radius, line-height, even grid-template sizes.