Vanilla JS + Unicode
Every Glyph, No Faff
An ad-free, bloat-free browser for every emoji, every HTML entity, every named Unicode symbol.
~7,000 characters in one minimal grid. Every emoji, every HTML entity, every named Unicode symbol. Search in 15 languages,
click to copy, or download a crisp 2048×2048 transparent PNG. Pure client-side: data.json ships once, the page
works offline after.
Finding the right unicode symbol or emoji online means wading through ad-funded sites bloated with newsletter popups, "trending" panels and other engagement-bait. Fair enough, they have to pay the bills somehow. But the experience is bad.
"I can make one of those" - and that is exactly what happened. A weekend pair-with-Claude exercise produced a clean tool that does one job, fast. Free, no ads, no signup, no analytics. A small everyday annoyance, solved properly.
Vanilla JS, no framework. The full character dataset is ~700KB gzipped data.json served once and cached aggressively;
after the first load the page works offline. Search is fuzzy-matched against names in 15 languages. Each glyph renders into a 2048×2048
transparent canvas on demand for download. A dozen quiet UX puzzles are buried in here: how to display 7,000 symbols
without scroll-jank, how to keep search instant, how to make "click to copy" obvious without intruding, how to handle right-to-left
scripts, how to keep the keyboard navigation sensible.
The curiosity-to-tool practice in its purest form: notice a small annoyance, build the tool you wanted, ship it as a free utility. Same instinct produces the Mars Water Level demo and the AI-Native CMS. Find a problem or an interesting puzzle, solve it properly, leave the result running.
If your product is the answer to a small everyday annoyance, the bar this hits is the bar to aim for.
All experimentsIf your product is the answer to a small everyday annoyance, the bar this hits is the bar to aim for.
Misbehaving stack? Codebase that won't play fair?