Vanilla JS + Unicode

Bettermojis

Every Glyph, No Faff

An ad-free, bloat-free browser for every emoji, every HTML entity, every named Unicode symbol.

What this is

~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.

The annoyance that started it

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.

How I built it

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.

What this is an example of

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 experiments
Hire me

Let's talk.

If your product is the answer to a small everyday annoyance, the bar this hits is the bar to aim for.