All 141 tools / Layout, grids and spacing
Find near-miss alignments, uneven gaps and orphaned boxes in a layout from box coordinates or markup
Proximity and alignment checkFreeFor designers and developers
25/day
free runs a day, no sign-in.
Before: what you give it
The example input, as typed in. You give it structured JSON.
boxes: [{"label":"Logo","x":24,"y":24,"w":120,"h":32},{"label":"Nav","x":600,"y":26,"w":300,"h":28},{"label":"Headline","x":24,"y":120,"w":520,"h":96},{"label":"Intro","x":26,"y":240,"w":400,"h":72},{"label":"Card A","x":24,"y":360,"w":280,"h":200},{"label":"Card B","x":328,"y":360,"w":280,"h":200},{"label":"Card C","x":644,"y":360,"w":280,"h":200},{"label":"Stray note","x":760,"y":700,"w":90,"h":20}]
tolerance: 6
After: what comes back
The first lines of a real run on that input. Nothing here is edited by hand.
Checked 8 boxes with a near-miss window of 6px. 9 findings: 5 near-miss, 3 gap, 1 orphan.
[high] near-miss: top edges of "Logo" (y = 24) and "Nav" (y = 26) differ by 2px. Equal would read as aligned; this reads as a mistake.
[high] near-miss: bottom edges of "Logo" (y = 56) and "Nav" (y = 54) differ by 2px. Equal would read as aligned; this reads as a mistake.
[high] near-miss: left edges of "Logo" (x = 24) and "Intro" (x = 26) differ by 2px. Equal would read as aligned; this reads as a mistake.
[high] near-miss: left edges of "Headline" (x = 24) and "Intro" (x = 26) differ by 2px. Equal would read as aligned; this reads as a mistake.
[high] near-miss: left edges of "Intro" (x = 26) and "Card A" (x = 24) differ by 2px. Equal would read as aligned; this reads as a mistake.
[medium] gap: Gaps between side-by-side siblings ("Card A" to "Card B", "Card B" to "Card C") are 24px, 36px. Spread 12px; most common gap 24px. If the difference is deliberate, group the items that belong together.
... full output on the tool page
What you get
Near-misses with both values and the difference, inconsistent gap lists, and boxes aligned to nothing
What it cannot do
Reads declared numbers only and renders nothing; takes 2 to 400 boxes, and elements without x, y, w and h are skipped.
Who it is for
- Designers
- Developers
Free and Pro
| Free | 25 runs a day per IP address, up to 100,000 characters a run. |
|---|---|
| Pro | No daily limit, 300 requests a minute, up to 200,000 characters a run. |
Use it from your assistant
The tool is called check_proximity_alignment. Connect the server once, then ask for it by name or just describe the job. Install steps for each app.
claude mcp add --transport http designers https://designers.allthepossibles.com/mcp
curl -X POST https://designers.allthepossibles.com/api/alignment-check -H 'content-type: application/json' -d '{"boxes":[{"label":"Logo","x":24,"y":24,"w":120,"h":32},{"label":"Nav","x":600,"y":26,"w":300,"h":28},{"label":"Headline","x":24,"y":120,"w":520,"h":96},{"label":"Intro","x":26,"y":240,"w":400,"h":72},{"label":"Card A","x":24,"y":360,"w":280,"h":200},{"label":"Card B","x":328,"y":360,"w":280,"h":200},{"label":"Card C","x":644,"y":360,"w":280,"h":200},{"label":"Stray note","x":760,"y":700,"w":90,"h":20}],"tolerance":6}'
Try it here
The form starts with the same example input, so you can run it first and then swap in your own.
More in layout, grids and spacing
- Grid builder
Build a column or modular grid from a page width, with every span width, CSS and Figma layout settings
- Spacing scale
Generate a set of spacing tokens from a base unit, as a linear ladder, a modular scale or your own steps
- Proportion calculator
Work out the missing side of a golden, root-2 or custom ratio and split a container at that ratio
- Breakpoint planner
Plan responsive breakpoints from the widths where your layout breaks, with ready CSS and fluid clamp() rules
- Spacing audit
Detect the spacing base unit in a stylesheet, list off-grid values and propose a cleaner scale
- Navigation depth
Analyse a navigation tree for depth, breadth, one-child branches, naming collisions and orphan pages