Canvasplayer
Canvasplayer plays back graffiti tags in a web browser. It reads Graffiti Markup Language (GML) files and redraws each tag stroke by stroke, at the speed it was written.
Try the original · Source code · 2010 blog post
In 2026 I rebuilt it from scratch, with a 3D mode by Evan Roth. That’s Canvasplayer 2.0.
History
I started it in December 2009 to show tags from Tempt1, a graffiti writer paralyzed by ALS. He was writing again with the EyeWriter, an eye-tracking tool built by Evan Roth, Zach Lieberman, Theo Watson, Chris Sugrue, James Powderly and Tempt1 himself. It went on to win a Golden Nica at Prix Ars Electronica in 2010. Those tags needed a home on the web and a way to play back. That became 000000book and canvasplayer.
Canvasplayer launched in January 2010 during GML Week, alongside the GML format, 000000book, DustTag and FatTag Deluxe. It was built on Processing.js and loaded tags straight from the 000000book API. The default tag was a skull by Katsu.
The original player, still running. It pulls Katsu's skull (#161) live from 000000book.
Then it sat mostly untouched for 16 years.
Credits
Built by me at FAT Lab. Thanks to the rest of the GML team, Evan Roth, Theo Watson, Chris Sugrue and Golan Levin, and to every writer who uploaded a tag.
The code is public domain.
Links
See also: Canvasplayer 2.0, Graffiti Markup Language (GML), 000000book, FAT Lab