design & css tools

Colour, type, shadow and layout generators that output real CSS.

17 tools · free · no sign-up · nothing uploaded

Contrast is the one item on this page with a hard, testable standard behind it, so it is worth stating the numbers. WCAG 2.1 level AA requires a contrast ratio of at least 4.5:1 for body text, and 3:1 for large text — which the specification defines as 18.66px bold or 24px regular and above — as well as 3:1 for the visual boundaries of interactive components and meaningful graphics. Level AAA raises body text to 7:1. These are ratios of relative luminance, not of how different two colours look, which is why a mid-grey on white can fail while a saturated blue on white passes comfortably. The same reasoning applies to form controls, which we cover in more depth in building accessible web forms.

Gradients have a subtlety that catches people out: the colour space the browser interpolates in changes the result. A gradient between two complementary hues interpolated in sRGB passes through a desaturated grey in the middle, because it is averaging the red, green and blue channels independently. Interpolating in a perceptual space such as OKLCH keeps the chroma up and produces the vivid midpoint most designers actually wanted. If a two-colour gradient looks unexpectedly muddy in the middle, that is the cause.

Shadows read as more convincing when they are layered rather than single. Real light produces a tight, dark contact shadow immediately beneath an object and a much wider, fainter ambient shadow around it. One large blurred shadow can only approximate one of those at a time, which is why a single box-shadow at high blur tends to look like fog rather than depth. Two or three stacked shadows with increasing blur and decreasing opacity is the standard fix.

Font pairing works on contrast of classification rather than similarity — a geometric sans against a transitional serif reads as deliberate, while two humanist sans faces read as a mistake. Worth remembering while you experiment: every additional weight and style you select is another file the browser has to fetch before text renders. We measured what that costs on this very site in eliminating a render-blocking font request, where a single stylesheet link was holding up first paint by roughly 860 ms.

WCAG 2.1 contrast thresholds

What the contrast checker is testing against:

ContentAAAAA
Body text (under 18.66px bold / 24px regular)4.5:17:1
Large text (18.66px bold / 24px regular and above)3:14.5:1
UI component boundaries, focus indicators3:1Not defined
Meaningful graphics and icons3:1Not defined
Disabled controls, decorative elementsExemptExempt
Ratios are computed from relative luminance, so two colours can look distinct and still fail.

All 17 tools in this category

Aspect Ratio Calculator

Calculate width, height or aspect ratio instantly. Includes presets for video, social media and print with common resolution tables.

CSS Box Shadow Generator

Free CSS box-shadow generator with live preview. Add multiple shadow layers, adjust offset, blur, spread and color, then copy plain CSS or Tailwind class.

CSS Glassmorphism Generator

Generate glassmorphism CSS with live visual preview. Adjust blur, opacity, border and shadow and copy production-ready code instantly.

CSS Gradient Generator

Free in-browser CSS gradient generator for linear, radial and conic gradients with draggable color stops.

Favicon Generator

Free in-browser favicon generator: turn an image, emoji or letters into favicon.ico, PNG sizes and touch icons with ready-to-paste HTML. Nothing is uploaded.

Free Email Signature Generator

Create a professional email signature and copy the HTML — free, no signup required, no watermark. Works with Gmail, Outlook, and Apple Mail. Three clean templates.

Graph Paper Generator

Printable square, dot, isometric, hexagonal, ruled, polar, music staff or handwriting paper as a crisp vector PDF, with your own spacing, colour and margins.

Common questions

My colours look obviously different but the checker says they fail. Why?

Contrast ratio measures relative luminance, not hue difference. Two colours of similar brightness — a medium red and a medium green, say — are easy to tell apart with normal colour vision but nearly identical in luminance, so the ratio is low and the text is genuinely hard to read for many people, including anyone with a common form of colour vision deficiency.

Why does my gradient go grey in the middle?

Because the browser is interpolating in sRGB by default and averaging the channels independently, which pulls complementary hues toward neutral. Adding explicit midpoint colour stops fixes it in any browser; specifying an OKLCH interpolation space fixes it properly where support exists.

Does the CSS these tools generate need a build step?

No. Everything produced here is plain CSS you can paste into a stylesheet or a <style> block. The generators that offer a Tailwind option output utility classes as an alternative, not a requirement.

Should I use every weight the font pairing tool previews?

Almost certainly not. Each weight is a separate download, and text cannot render until the font it needs arrives. Two or three weights covers most interfaces; loading five because the previewer showed them is a measurable cost on first paint.