[ Ionut Dumitru ]
CraftJan 26, 20266 min read

Whitespace is a decision, not a leftover

The space between things carries as much meaning as the things, and treating it as scrap is how layouts get loud.

Whitespace is the first thing a designer cuts when a screen feels empty and the last thing they add back when it feels cramped. Both moves treat it as packing material — something you stuff in or squeeze out to make the real content fit. That framing is the bug. The space between elements isn't the absence of design. It's the part of the design that tells the eye what belongs together, what comes first, and where it's safe to stop reading.

A layout is a set of relationships, and relationships are made of distance. Two labels eight pixels apart are a pair; the same two labels forty pixels apart are strangers. You never typed the word "group," yet the spacing said it for you. When people call an interface "clean," they almost never mean it has fewer features. They mean its distances are deliberate — that nothing is closer or farther than its meaning requires.

Distance is the cheapest grouping you have

Before you reach for a card, a border, a background tint, or a divider, you already have the most powerful grouping tool in the box, and it costs nothing: how far apart you put things. The Gestalt principle of proximity isn't a poster on a wall — it's the rule the eye actually runs. Elements near each other read as related. Elements with air between them read as separate. The viewer does this involuntarily, before they've read a single word.

So when a form has a label sitting equidistant between the field above it and the field below it, the user has to stop and work out which input it describes. Nothing is technically broken. The label is there, the field is there. But you've handed a parsing job to the person instead of doing it in the layout. Most "confusing" screens are confusing for exactly this reason: the spacing contradicts the structure.

  • Tighten the gap between a thing and its caption; widen the gap between one group and the next.
  • When something feels like it needs a divider line, try doubling the space first — half the time the line was compensating for a gap that was too small.

Every border you draw is an admission that the spacing wasn't doing its job.

Loud layouts are usually under-spaced, not over-decorated

When a screen feels busy, the instinct is to remove color, flatten shadows, mute the type. Sometimes that helps. More often the noise isn't coming from the decoration — it's coming from elements crammed so close that the eye can't tell where one idea ends and the next begins. Everything is shouting because nothing has room to be quiet.

I've watched a dashboard go from overwhelming to calm without a single element being deleted. The fix was a rhythm: a small unit of space inside a component, a medium unit between components, a large unit between sections — and never the in-between values that blur those tiers together. Once the spacing had tiers, the hierarchy read itself. The "too much going on" feeling wasn't density. It was ambiguity about what grouped with what.

This is also why scaling spacing from a fixed set beats hand-tuning every gap. A small, intentional ramp — say 4, 8, 16, 24, 48 — forces each distance to mean something relative to the others. The moment you allow a 13-pixel gap next to a 16-pixel gap, you've created a difference the eye can detect but not interpret. It registers as wrongness with no name. Constraints here aren't a limitation; they're what makes the spacing legible at all.

Whitespace is content, not background

The hardest version of this to internalize: empty space is doing work even when nothing is in it. The margin around a paragraph sets its reading tempo. The air above a heading is what makes it land as a beginning. A generous gutter doesn't waste the screen — it tells the eye this column is one thing, and that column is another, without a single pixel of chrome.

Treating that space as negotiable is how a layout dies by a thousand cuts. A stakeholder asks to fit one more module above the fold, so you trim the section gaps by a few pixels each. None of those cuts looks fatal in isolation. Together they erase every tier of the rhythm, and the page that read as composed now reads as a list of things that happened to land near each other. The space was carrying the structure, and you spent it without noticing.

The reframe that fixes this is small but total: stop thinking of whitespace as what's left over after you place the elements, and start placing the space with the same intent you place the elements. Decide the gap before you decide the gradient. When you're cutting, cut a feature before you cut the air around the features that remain — because the air is what lets the remaining features be understood.

A good layout isn't a set of components that happen to sit near each other. It's a set of distances, and the components are what those distances hold apart. Design the space first, and the things will know where to stand.

#Craft#LayoutShare ↗
→ / AUTHOR
Ionut Dumitru
Ionut Dumitru

Full-stack engineer and product designer. Writes about building products where the engineering and the design are the same job.

→ / NEXT
ProductJan 19, 2026
Ship the smallest thing that could be wrong
← All writingionutdumitru.com