Using Bingosync

Bingosync is a web application that lets people collaboratively work on "bingo boards" for speedrunning games.

When you create a bingosync room from the main page of, you will get a unique URL that you can share with other people to let them join your room. When multiple people are in the same room, the squares on the bingoboard are synchronized between them in real time. This lets you plan and keep track of bingo progress together. You can left click on a goal to change its color publicly or right click on a goal to "star" it privately. You can use starring to plan your goals without other players seeing.

Different Ways to Play Bingo

Here's a collection of different ways to play bingo that you can try out. If you have ideas for other ways of playing bingo that you don't see on this list, let me know so that I can add them :)

Regular Bingo Complete the goals on the squares and mark them on the board when you get them. Try to get 5 squares in a line, either a row, column, or diagonal. You can play in the same room as other racers to see each other's progress as you go!
Multi-Bingo Like regular bingo, but with multiple lines at once. For example, in "Triple Bingo", you might go for column 1, row 5, and the tl-br diagonal to take advantage of their overlapping squares.
Anti-Bingo Like regular bingo, but your opponent chooses the line that you do! Combine with Multi-Bingo for "Triple-Anti-Bingo" shenanigans!
Blackout Instead of going for individual lines, try to complete the entire board! You can work together with other players to complete a single board in "team blackout", and compete against other teams.
Lockout In lockout bingo, only one player can have a square— once it's collected, the other players are "locked out". Try to collect as many squares as you can, either until the board is filled or for a fixed time limit.
Flip Lockout Like regular lockout, but you can also steal squares from your opponent! Collect two squares adjacent to a square collected by your opponent, excluding diagonals, to "flip" that square to your color— even if you don't have the goal that's being stolen.
Adding or Updating Generators

New generators and generator variants are welcome from anyone! To add a new generator, just send me:

  1. The generator or goal list you'd like to use
  2. The name you'd like (for the room creation dropdown)
  3. The abbreviated name you'd like, ideally no more than 10-12 characters (for the rooms list)
To update an existing generator, send me the new generator or goal list you'd like and make sure that you have permission from whoever requested the old version of that generator.

If you're just starting out and need to make a goal list, there are two main ways to make one:

  1. Make an SRL-style goal list with 25 difficulty tiers. (example)
  2. Make a simple list of just the goal names that you want. (example)

An SRL-style goal list takes more work but can produce more balanced boards. The generator will try to use 1 goal from each difficulty tier and arrange them so that every row, column, and diagonal adds up to the same difficulty value. If 2 goals have one of the same "types" then it will refuse to put them in the same row. This lets you keep incompatible or broken goal pairs from appearing together.

A generator made with a simple goal list will randomly choose goals from the list without regard for conflicts or synergy. This list can just be a pastebin with each goal name on a separate line.

If your generator doesn't fit into one of these categories or has special requirements, get in contact with me and we can work it out.

You can contact me on github by filing an issue or creating a pull request.

Custom Boards

You can make a room with a specific custom board without creating a generator by using the "Custom (Advanced)" game type. You can then paste a 25 element JSON list containing the goals for your card into the text box. Here's an example list:

The custom board mode can only be used to make a board with a specific list of 25 goals. It won't randomize the card for you like a regular generator. If you want to have a randomized card you either need to randomize it yourself before creating the room or make a regular generator instead.


Bingosync's source code can be found on github. It's primarily written and maintained by me, kbuzsaki, with contributions from several others. Issues and pull requests are welcome!

If you have any questions, requests, or suggestions, you can contact me on github by filing an issue or creating a pull request.


Bingosync stores any room information that you enter-- including room and player names, goal actions, and chat messages-- so that you can still access old rooms in the future. Bingosync uses browser cookies in order to keep track of which rooms you're logged into currently. Bingosync uses anonymized Google Analytics that does not transmit any personal data. The Bingosync server keeps a log of recent access to its web servers, including IP addresses and user agent strings, so that I can troubleshoot any issues that come up and identify problematic traffic patterns.

Bingosync does not collect or store names, email addresses, or other personal information. The room and player information that Bingosync stores is anonymous: it can't be attributed back to the specific person who entered it.