About this tool
Grotesk and monospace pairings with a character grid, edge-to-edge headline sizing and tracking values.
The Brutalist Font Pairing pairs a heavy grotesk with a monospace in eight brutalist combinations and does the two calculations that style actually needs: the font size at which your headline spans the container edge to edge, and how many monospace columns fit across it. Headline size comes straight from width = characters x size x average advance, so size = container / (characters x advance); the character grid comes from the CSS ch unit, which in a monospaced face is one column wide, typically 0.6em. It outputs ready CSS with the Google Fonts import, the computed size, the tracking value and a max-width expressed in ch.
Open Brutalist Font Pairing on AltFTool — it loads instantly in your browser.
Add your input to the workspace.
Adjust the options until the result looks right.
Copy or download the output and put it to work.
Give it the container width and the headline and it returns the fill size directly, then re-solves it once tracking changes the drawn width.
Display type gets progressively tighter tracking as it grows instead of one flat value copied from the text setting.
Each pairing stores its own average advance — Anton at 0.45em, Unbounded at 0.72em — so a condensed and a wide face do not get the same maths.
A run of text is roughly characters x font-size x average advance wide, so the size that fills a container is container width divided by (character count x advance). A 20-character headline in a 1200px container at 0.6em advance lands at 100px. It then recomputes the size once tracking is applied, because tracking adds a gap between every pair of glyphs.
Zero at 24px and below, then tightening by 0.0004em for every pixel above that, never going past -0.05em. That is a house heuristic rather than a standard: sidebearings drawn for reading sizes turn into visible gaps at display sizes, so large type needs to be pulled in.
Because ch is defined as the advance width of the zero glyph, and in a monospaced face every glyph shares that advance — so N characters is exactly N ch. Most monospaces ship a 600/1000 advance, which is why 0.6em is the default here, but faces like Martian Mono sit nearer 0.7em and the field is editable.
Container width 240px to 3840px, monospace size 8px to 40px, either advance value 0.30em to 1.20em, and a headline of 1 to 200 characters. Out-of-range input returns a message instead of a misleading number.