3D Toilet Paper Roll Simulator with Real Thermal Printing
Feb 2026

This project started while I was experimenting with a label generator for small bars. Thermal printers allow you to control the exact length of paper and where it cuts, which made me wonder what else you could do with it.
Instead of building something useful, I decided to build something completely unnecessary.
I created a browser-based 3D toilet paper roll that you can drag and unroll in real time. The physics simulation measures the exact paper length in centimeters. When you stop, the result is printed on a real thermal receipt printer using raw ESC/POS commands.
The project combines WebGL rendering, physics simulation, and hardware control from a web application.
Tech highlights
- Three.js for the 3D scene
- Physics simulation for the rolling paper
- Real-world measurement of paper length
- Direct ESC/POS printing to a thermal printer
- Built with Next.js
It’s a completely useless prototype, but a fun exploration of how far a web browser can go when it starts interacting with the physical world.


