About This Site

A free, private, printable football squares board — built to make the fair part automatic and to leave out everything that causes trouble.

Why this site exists

Football squares is a great party game with a weak link: the number draw. Somebody has to pull digits from a hat, and everybody else has to believe they did it honestly. This site replaces the hat with the browser's cryptographic random generator and adds a lock button so the board freezes before the reveal. The rest of the game — names in squares, last digits, one happy winner per quarter — needed no improvement.

How it works

The site is fully static: every page is pre-built HTML, and all interactivity is a small script that runs on your device. Boards are stored in your browser's local storage and can be packed into a shareable URL. Nothing you type is ever uploaded, because there is no backend to upload to. Printing fits the whole board — teams, axis numbers, names — on one Letter page in landscape, and the PNG export renders the same board as an image for posters and chats.

What is deliberately missing

There is no money anywhere in this tool: no entry amounts, no shared prize collection, no prize-splitting arithmetic, no accounts. What each quarter's winner receives is a conversation for your group, not a form on this website. If you want a completely stakes-free game — offices and classrooms usually do — every feature works exactly the same.

The site is also deliberately neutral about teams: the board's name fields start as “Team A” and “Team B”, and no league branding, team names, logos or colors appear anywhere. It is a template for any matchup in any sport — the basketball squares page covers the most popular non-football use.

Under the hood

Astro for the static site, TypeScript throughout, and a plain canvas for the PNG export. The random number code uses crypto.getRandomValues with rejection sampling, so the digit arrangements are uniformly random — the shuffle is tested with automated runs of a thousand draws. The site carries no external fonts, images or scripts, which is why it loads fast and works offline once a page is open.

Last updated: 2026-11-08