
I Built a Side-by-Side Base64 / URL / HTML / Encoder and Finally Stopped Confusing Them
I Built a Side-by-Side Base64 / URL / HTML / Encoder and Finally Stopped Confusing Them There are only four text encoding schemes you run into daily on the web. And yet the moment you feed them anything beyond ASCII, each one starts behaving differently. The only way to internalize the differences, I found, is to see all four results next to each other. "Is this supposed to be Base64 or URL-encoded?" "Why is 'あ' three bytes in the URL?" "Wait, is it \u{1f389} or \u1f389 for 🎉?" I kept hitting the same wall, so I put all four encodings on one page with a single input box. 🔗 Live demo : https://sen.ltd/portfolio/encoder-diff/ 📦 GitHub : https://github.com/sen-ltd/encoder-diff One input. Four output cards (Base64, URL percent, HTML entities, Unicode \u escape). Radio buttons flip between encode and decode mode — all four cards turn around at once. Errors only paint the offending card red. About 300 lines of vanilla JS, zero dependencies, no build step. Base64: btoa can't eat UTF-8 Base64
Continue reading on Dev.to
Opens in a new tab



