Every Bar Is a Multiple
A barcode poster in two colours — with the code built on a base module, guard bars and a numeral row, so it reads as a scanned object rather than a stripe field. Five fields.


Two runs of the same template. The same picture on the other side: guards, numerals and quiet zone all present, and the quantisation better than either the reference run or the first run at 0.198 mean error - still not the near-zero a real code has. The honest summary across the pair is that naming the parts of a code gets you the parts, and naming the module does not get you the module. If you need true quantisation, draw the bars rather than describe them.
Measured, and the result is split. The structural parts of the law landed where the reference run had none of them: guard bars at both ends and the centre dropping below the block, a numeral row split into groups with one digit outside on the left, a clear quiet zone, and bars continuing above and below the knocked-out letters. The module law did not land. Taking the narrowest bar as the base unit, the mean quantisation error is 0.238 against the reference run's 0.233 - unchanged. The widths still do not divide by a common unit; they only stop at four times the base instead of six.
Generated for this library
Input
Knockout INDEPENDENT READING - and 01 beneath
Numerals 9 771234 567890
Support top row PAPER LAB · INK · ZINE · READ · second row
WEST BUND ARTS CENTRE / 2026.09.19-09.20 · under
the code INDEPENDENT MAGAZINE MARKET · at the foot
SAT-SUN 10:00-20:00
Colours acid lime on near-black
Headline INDEPENDENT MAGAZINE MARKET, over PAPER DREAMS /
FREE PRESS
Returned 1 poster · 2:3 · two colours, high contrast
module every bar and gap 1, 2, 3 or 4 units wide - no
width that is not a multiple
guards a tall 1-1-1 pattern at each end and at the centre,
running below the block
quiet a clear margin the width of nine units on both
sides of the code
numerals a single row beneath the bars, in a mono face,
split into groups
colours two, and the ground counted as one of themYou fill in 5 fields — the braced lines at the top. Everything below them is fixed.
- 1The words knocked out of the bars
- 2The numerals under the code
- 3The supporting lines, and where each goes
- 4The two colours
- 5The headline under the code
Every Bar Is a Multiple
Produce ONE image, 2:3 portrait: a two-colour poster built around a large barcode. Follow every line. Replace only the FIELDS block; everything after it is fixed.
First — do you have the fields?
If any field below still has braces around it, stop and ask. Put all the questions in one short message, and show the example under each one so they can see the shape of a useful answer. Wait for the replies, then draw. Never fill a brace yourself: a value you invented is a value nobody asked for, and it will look exactly as considered as the ones they did give you.
Ask in whatever language they are writing to you in. Translate the questions and the examples; do not make someone read English to tell you what they want.
The examples are only examples. If someone answers a question, use their answer; never fall back to the example because you prefer it.
If the fields are already filled in, ignore this and carry on.
Fields — replace these five lines only
- The words knocked out of the bars: {two or three words, and a number}
- The numerals under the code: {a number, in groups}
- The supporting lines, and where each goes: {up to four lines, each with a position}
- The two colours: {an accent, and a ground}
- The headline under the code: {a headline, and a line above it}
The module law
A barcode looks the way it looks because every bar and every gap is an exact multiple of one small base width. That is the entire visual signature: widths that are 1, 2, 3 or 4 units, never anything between.
Borrowing the shape without the rule gives you stripes.
A reference run of this style produced bars at widths measuring 7, 9, 11, 12, 13, 15, 16, 19, 21, 22, 24, 25, 26, 27, 29 and 39 pixels — sixteen different widths with no common unit between them. It looked striking and it did not look like a code, because nothing about it was quantised.
Pick one base unit and build everything from it:
- Every bar is 1, 2, 3 or 4 units wide.
- Every gap is 1, 2, 3 or 4 units wide.
- No bar and no gap has any other width.
- The pattern is irregular in sequence and strictly quantised in size — that combination is what a code looks like.
The parts of a code
A code is not just bars. All of these are required:
- Guard bars. A narrow 1-1-1 pattern at the left end, at the right end, and at the centre. The guards run taller than the rest of the block, dropping below its baseline.
- A quiet zone. A clear margin of at least nine units of bare ground on both sides of the block. Nothing enters it.
- A numeral row. The number from the fields, set beneath the bars, in a monospaced face, split into groups, with one digit sat outside the block on the left.
The knockout
The words from the fields are knocked out of the bars — cut through them, so the ground shows where the letters are.
- Heavy condensed sans, set very large, filling the width of the block.
- The bars continue correctly above and below the letterforms; they are interrupted, not stopped.
- Counters and gaps inside letters show ground, not bar.
- Two or three words at most. Every character costs bars, and beyond three words there is no code left to read.
The rest of the sheet
- The headline below the code, in the ground's opposite colour, large and flush left.
- Supporting lines small, in one plain sans, at the positions the fields give, aligned flush to one margin.
- A QR-style block may sit at the lower right. If it does, it has three corner finder squares — top left, top right, bottom left — each a solid square inside a ring, and a quiet margin of its own.
Colour
Two colours only, and the ground is one of them. The code carries the accent; the type is either the accent or the ground's opposite. No third colour, no tints, no gradients, no shadows, no glows.
Never
- ✕ bar or gap widths that are not multiples of one base unit
- ✕ a code with no guard bars
- ✕ anything entering the quiet zone
- ✕ a code with no numeral row
- ✕ bars that stop at a knocked-out letter instead of continuing past it
- ✕ more than three knocked-out words
- ✕ a third colour, a tint or a gradient
- ✕ a QR block without three finder squares
- ✕ text the fields did not supply
The result
A code you could almost scan: irregular in sequence, exact in measure, guarded at both ends, numbered underneath — and a headline cut clean through the middle of it.
The whole template, in one piece. The steps below are the entire workflow.
How to use it
- Copy the whole template with the button above.
- Replace the five FIELDS lines. Keep the knocked-out words to two or three, since every character costs bars.
- Paste it into any image-capable agent or model, in one message. One run returns the poster.
- Measure a few bars before shipping. If their widths do not all divide by one common unit, it is a stripe field.
What you swap
- The words knocked out of the bars
- INDEPENDENT READING — and the issue number 01 beneath them
- The numerals under the code
- 9 771234 567890
- The supporting lines, and where each goes
- top row PAPER LAB · INK · ZINE · READ · second row left WEST BUND ARTS CENTRE · second row right 2026.09.19—09.20 · under the code INDEPENDENT MAGAZINE MARKET · at the foot SAT—SUN 10:00—20:00
- The two colours
- acid lime on near-black, and nothing else
- The headline under the code
- INDEPENDENT MAGAZINE MARKET — with the line PAPER DREAMS / FREE PRESS above it
Before it runs
- Short words to knock out. Long ones eat too many bars and the code stops reading as a code.
- A number you are happy to print. It sits under the bars in the open and a random-looking string reads as filler.
- Tolerance for one loud colour. The format is a two-colour format and adding a third kills it.
When to reach for it
Zine fairs, record shops, market events, anything with retail or print culture behind it. Templates in this style return a handsome field of stripes at freely varying widths, which is what a barcode looks like to someone who has never looked at one.
What changes
- One high-contrast poster built around a large barcode block, with the headline knocked out of the bars.
- Every bar and gap an exact multiple of one base module, so the code has the quantised rhythm real codes have.
- Guard bars at both ends and the middle, a quiet zone margin, and a human-readable numeral row beneath.
- Two colours only, one of them the ground, with the code carrying the accent.
- Supporting lines set small and flush, so the code stays the only event on the sheet.
Pairs with
- One Family, Three SizesA photograph with type laid over it — held to one typeface, three sizes fixed by ratio, and one accent, so the poster reads as designed rather than assembled. Five fields.
- The Grid Is for the TypeAn International Typographic Style poster — a declared column count, every edge snapped to it, and the title as the largest thing on the page. Six fields.
- A Whisper and a ShoutMatte black, white type, nothing else — a thin quote holding the top against one enormous rounded word below, with the three sizes fixed by ratio rather than by eye. Five fields.