base64.js is a library and demo app for converting to and from base64. The library itself allows you to set several options, because apparently there are several variants of base64. The library also allows you to specify 8-bit or 16-bit input. 8-bit is standard, but 16-bit gives Unicode compatibility. I originally made this library in order to encode URLs for my Syntax Tree Generator. However, I’m starting to think that base64 isn’t any better than standard URL percent sign encoding for that purpose, since encoding 16-bit strings gives output that is about the same length in either case. In any case, I hope that somebody finds this useful; I think base64 is often encountered in programming competitions.