Series of Tubes
Build the internet, one tube at a time. A free cartoon browser game about how the internet really works. Play it at seriesoftub.es.
You start with one router in one city and grow into a transit-free Tier 1:
- Customers: home broadband ("eyeballs"), enterprises, hosting, L2VPNs, DDoS
- Interconnection: IP transit billed on the 95th percentile, internet exchanges
- Infrastructure: leased waves on around 40 subsea cable systems modelled on real ones,
- Traffic engineering: see exactly what fills each link, tune link metrics and
- Things break, constantly: backhoes, sharks, fat fingers, route leaks, RPKI
Every company is a pun. No real company names are used.
Learn how it really works
This game simplifies a lot, and gets some things gloriously wrong on purpose. For the real thing, go to How the Internet Works by Thomas Kjær Aabo (source): an interactive, zoomable map that follows your data from Wi-Fi and copper to undersea fiber, as the internet works today, in 2010 and in 1995, with simple or technical explanations. If you enjoy Series of Tubes, you will learn more from an hour there than from a year of laying cartoon fiber here.
Playing locally
It is a single static page, assembled from the files in src/ by a small Node script:
npm ci
npm run dev # http://localhost:8080
Progress is saved in your browser's local storage.
The game speaks English, Italian, Portuguese, French and Spanish. It follows your browser's language the first time and remembers the one you pick under Settings or on the title screen.
Development
npm ci
npm run dev # development server: assembles src/ on every request, reloads on save
npm test # headless tests: boot, geography, a year of play, every incident, every panel
npm run build # writes the site for GitHub Pages to _site/, with version and date stamped in
npm run i18n:check # lists text missing from (or stale in) the translations
Community
Come hang out in the Series of Tubes Signal group. Share screenshots of your network, suggest cities, and argue about peering policy with other players. There are fewer backhoes there than in the real thing.
Signal is for chatting. Bugs, feature requests and anything else that should not get lost go into a GitHub issue.
Star history
Contributing
Issues and pull requests are welcome. See CONTRIBUTING.md. Everyone taking part follows the Code of Conduct: be excellent to each other.
License
MIT © 2026 Frederic Jung