How the poster maker works
It reads your pasted fixture list line by line, shows how each line was read, asks rather than guesses when something is unclear, then fits the season onto the page with a fixed rule. Here are the formats, the rules in order, and what it does not do.
The paste formats it reads
Rows copied from a spreadsheet (split by tabs), CSV files (split by commas, or semicolons), columns split by a bar, and plain lines. Each line below was read by the same code the maker runs.
| Pasted | Date | Time | Opponent or sides | H or A | Venue | Competition |
|---|---|---|---|---|---|---|
Sat 7 Mar 2027 10:30 vs Rovers (A) at Park Lane | Sat 7 Mar 2027 | 10:30 | Rovers | A | Park Lane | none |
2027-03-14, 11:00, Hillside Athletic, H, Millbrook Rec | 2027-03-14 | 11:00 | Hillside Athletic | H | Millbrook Rec | none |
21/03/2027 [tab] 3pm [tab] Away [tab] Northgate Colts [tab] Northgate Park | 21/03/2027 | 3pm | Northgate Colts | A | Northgate Park | none |
March 28 2027 | 10:00 | @ Eastwood Rangers | Eastwood Sports Ground | March 28 2027 | 10:00 | Eastwood Rangers | A | Eastwood Sports Ground | none |
Sat 3 Apr 2027 10:30 Hillside Athletic v Millbrook Juniors [Cup] | Sat 3 Apr 2027 | 10:30 | Hillside Athletic v Millbrook Juniors | from the sides | blank | Cup |
Sat 10 Apr 2027 No game, Easter break | Sat 10 Apr 2027 | A break: No game, Easter break | ||||
Sat 17 Apr 2027 TBC vs Kingsmead Wanderers (H) | Sat 17 Apr 2027 | TBC | Kingsmead Wanderers | H | blank | none |
In a line, the date comes first, with or without a weekday. The time can follow it or sit anywhere in the line. “vs”, “v”, “versus” or “against” starts the opponent, and “@” before it means away. (H), (A), (Home) or (Away) mark home or away. The ground follows “at”, a spaced dash or a bar. Text in square brackets, or a last pair of round brackets that is not H or A, is the competition. A line whose words start with No game, Break, Half term, Holiday or Bye is a break week.
With a header row, columns are read by their names, such as Date, Kick off, Opponent, Home/Away, Venue, Competition, Notes, Home team and Away team. Without one, each cell is read by what it holds: a date, a time, an H or an A, then text in order as opponent, venue, competition and notes.
The rules, in the order they run
- Plain text first. Windows and old Mac line endings, a byte order mark and non-breaking spaces are made plain. Curly double quotes are read as straight ones, so a quoted CSV field still reads; apostrophes in names are kept as typed.
- One row a line. Every line that is not blank becomes a row, holding the line you pasted. A line nothing could be read from is still a row, marked Needs a fix, so nothing pasted disappears unseen. A line over 300 characters stops the whole paste.
- Dates that read two ways are asked about. 03/04 is 3 April day first and March 4 month first. If any date reads both ways, you choose the order once and every date follows it. A date that can only be read one way is read that way, unless the list has some of each kind, when you are asked as well. Dates written 2027-03-04 and dates with a month name are never ambiguous.
- Missing years come from the season start. A date with no year, such as Sat 7 Mar, takes its year from the month and year the season starts, which you are asked for: a month from the start month onward is in the start year, an earlier month in the next year. Two digit years are 20xx, and years outside 2000 to 2099 are refused.
- Weekdays are checked. If a line says Sat and the date is a Sunday, the row is marked with both days named.
- Times are wall-clock times. 10:30, 10.30, 10:30:00, 10:30am and 3pm are read; TBC, TBA and TBD print as TBC. There is no time zone and no conversion: the poster prints the kick-off the league gave. A blank time is marked, with a button to mark it TBC.
- Home or away is never assumed. A row with neither is marked, with Home and Away buttons. When a league export names both sides, the side that equals your team name or short name (capitals, spaces and punctuation ignored) is you.
- Venues. A home game with no venue is printed at the home ground you set; with none set, the row is marked, with a button for Venue TBC.
- Limits. 1 to 60 fixtures and up to 20 breaks; team names up to 40 characters, short names up to 12, opponents up to 40, venues up to 60, notes up to 60. Text the poster fonts cannot draw, such as an emoji, is refused with the character named, never dropped.
- Copies and clashes. A second row with the same date, time, opponent and home or away is a copy and must be removed. Two games at the same time on one day are flagged to check. Two games on one day at different times are fine.
- Sorted by date, then kick-off. TBC games come after the timed games of that day. A season that crosses a new year is labelled like 2026/27. Games before today on your device are marked Played and still print.
- Nothing exports until every row is ready. Fix or remove each marked row and the poster, the season image and the graphics can be saved.
How the poster fits itself
- Every arrangement of 1, 2 or 3 columns, with the header at full, 85, 72, 60 or 50 percent height, is tried at every body text size from the largest down to the floor, in steps of 0.25 pt. The floor is 9 pt on paper and 20 px on the social image.
- An arrangement fits when month headings, games and breaks flow down the columns without running into the footer. Text is never cut: a long name wraps, and a word too long for its line breaks between letters.
- The largest body text wins; on a tie, fewer columns, then the taller header. An arrangement up to 1.5 pt smaller is chosen instead when it wraps fewer lines of names and details.
- Space left over goes inside the rows, up to half a line each; the list always starts right under the key to the H and A marks.
- A month heading never ends a column. A column that starts part way through a month repeats its heading with CONT. If nothing fits at the floor, no poster is made, and the page says what to shorten or which size holds more.
Worked example
The sample season, an invented under 12s team with 22 games and 2 breaks, in the classic style:
| Size | Columns | Body text |
|---|---|---|
| A4 | 2 | 15 pt |
| Letter | 2 | 15 pt |
| A3 | 2 | 21 pt |
| Social, 1080 by 1350 | 2 | 30 px |
The social image leaves venues and notes out so the games read on a phone; the paper sizes print them under each opponent.
The colour rule
Text on a team colour is set in white or in black, whichever has the higher contrast. For any colour at all one of the two reaches at least 4.58 to 1, so every word on a colour passes the 4.5 to 1 floor for normal text, and the maker says which it chose. Home rows in the classic style carry a 14 percent tint of the main colour, always light enough for dark text.
- #1f3a68: text in white, at 11.2 to 1.
- #f2c230: text in black, at 12.5 to 1.
- #c8102e: text in white, at 5.8 to 1.
- #7fb2e5: text in black, at 9.4 to 1.
A colour under 1.5 to 1 against white paper barely shows, and two colours under 1.5 to 1 apart read as one: both are flagged with a plain warning. Colour is never the only cue: every home game carries an H and every away game an A. Dark mode changes the page, never the poster, which is always printed on white.
Graphics, badges and files
- Per-game graphics are 1080 by 1080 and 1080 by 1920 pixels, saved as PNG and named by date, so a folder sorts in fixture order.
- The ZIP of every graphic is made in the page, one image at a time, with a count of images made and a Cancel button; the page stays usable while it works.
- A badge is a PNG, JPG or SVG of up to 2 MB, drawn in the page and kept as a PNG of at most 360 pixels a side, transparency included. An SVG that refers to anything outside itself is refused. With no badge, a monogram of the short name is drawn.
- The PDF carries its own fonts, cut down to the letters used, so it prints the same on any computer or at a copy shop.
What it is not
- Not a league's official list: it prints what you paste. Check changes with your league.
- Not a guesser: an unclear line is marked for you, never filled in.
- Not an uploader: lists and badges stay in your browser, and there is no account.
- Not a design tool: three styles, your colours and your badge, laid out by fixed rules.
Fixturefold is not affiliated with any league, club, governing body or graphics vendor.