What Emojery is

Emojery has a few unusual ideas behind it: a public record of every reaction, a checking tool anyone can run, a sign-in with no password. The other pages here explain them properly. This one explains them simply, no jargon, nothing you need to already know.

The short version

Emojery is a small add-on for your browser. Once it's installed, a little button appears on the pages you already read, next to the site's own Like, Star, or Upvote, and that button lets you react with any emoji you want, not just the ones the site offers.

Everyone using Emojery sees the same reaction counts on the same page. That's the whole product: a thin extra layer of reactions on top of the web you already use.

Everything below is about the second half of the job — making sure the numbers in that layer are real.

The button and the number

It sits where you'd expect it

You don't go to a separate website. On a supported page (a video, a post, a product, a code repository) the Emojery button appears in the same row as the buttons already there. It shows the top 3 emoji other people picked and the running total. Click it, and a small panel opens with the full picture.

Every emoji, not a shortlist

Most sites hand you a menu somebody else wrote: a thumbs up, a heart, a star. That's fine until the thing you actually feel isn't on the menu. Emojery gives you the whole emoji keyboard (😂, 🤨, 🔥, 💀, 👎, whatever fits), and you can change your pick later or take it back entirely. The longer version of this argument is on The signal platforms hide.

The number belongs to everyone

What you see is a total, never a list of names. Emojery has no way to show anyone "who reacted", because it never publishes that. Your own choices are yours: the extension keeps a private history on your computer so you can find and change anything you reacted to, and that history never leaves your device.

Reading costs nothing

You can install Emojery and just look. Reading the counts needs no account, no email, no sign-in of any kind. The email is only asked for at the moment you want to react yourself; the reason for that is further down.

Why the number is honest

The problem with every other count

Think about any number you've seen under a post: 40,000 likes, 300 upvotes, 5 stars. You have no way to check it. It's whatever the company's computer says it is. If it went up overnight for no reason, or quietly went down, you'd never know. Every one of those numbers is a promise, and you either believe it or you don't.

Emojery is built so you don't have to believe anything. Here is the whole idea in 4 steps.

  1. You tap an emoji The count on the page goes up.
  2. It's written down in public Your tap becomes a new line on a list anyone can download and read.
  3. The list is copied out of our reach A short summary of it is published to places we don't control.
  4. Anyone can re-count A free tool adds the list up again and checks it matches what you saw.

The notebook that can't be rubbed out

Picture a notebook where every reaction gets its own line, in order, forever. Nothing is ever erased and nothing is ever edited. Changed your mind about an emoji? That's a new line saying so. Deleted your account? That's a new line too, and it takes your old reactions back out of the totals. The count you see on a page is just this notebook, added up.

The notebook is public. Anyone can download the whole thing and read every line. Nobody's name is in it: reactions are labelled with a code that changes over time, so the record can't be used to follow a person from page to page. The formal name for a notebook like this is a transparency log, and how it's built is on The transparency log.

A photo of the notebook, kept where we can't reach it

A notebook we hold is still a notebook we hold. So, regularly, the whole thing is squeezed down into a single short string of characters. Think of it as a fingerprint of the notebook at that moment. Change any line, anywhere in the history, and the fingerprint comes out completely different. There's no way to fake it.

Those fingerprints don't stay on our servers. They're published to a separate public folder on GitHub called emojery-log, copied into public archives run by other organisations, and eventually stamped into Bitcoin. That last one is the point: we can change our own database, but nobody on earth can change an old Bitcoin block. So if we ever rewrote the notebook, every fingerprint we published before would stop matching — in public, permanently, for anyone who bothers to look.

The homework-checker

Saying "you can check it" is easy. So there's a separate free program, the verifier, that does the checking for you. It downloads the notebook, adds up every reaction itself, and compares its own total against the number the site shows. It also re-does all the fingerprints and confirms they match the ones published outside.

It's deliberately not part of our website or our extension. It's its own open-source project. Anyone can read the code before trusting it, or run their own copy on a schedule and watch us daily. It gets no special access; it sees exactly what you see. What it checks, step by step, is on The open-source verifier.

What this does not prove

Honest limits matter, so here's the edge of the claim. All of the above proves what's in the record and that nothing was quietly removed from it. It can't prove that a reason we give for removing something is truthful, no amount of maths can prove that anyone is being honest about their motives. What it can do is make quiet abuse very hard: reversals apply to an account's entire history, not to one inconvenient vote, and they show up on a public feed anyone can watch.

Why it asks for an email

A count is only worth something if voting costs something

If reacting needed nothing at all, a single person could sit down and turn into a thousand voters in an afternoon. Fresh browser profiles are free, instant, and unlimited. Real email addresses that actually receive mail are not, and that difference is the entire reason for the sign-in. It isn't registration in the usual sense; it's the cheapest available way to make one reaction mean one person.

No password, and no "Continue with Google"

You type your email once. We send a verification code. You paste it back. That's it: there's no password to invent, forget, or leak, because we never create one. We also deliberately skipped the Google and GitHub sign-in buttons: those would tell Google or GitHub that you use Emojery, and a small reactions add-on has no business adding a line to your profile at a company like that. The full reasoning, including what we gave up by choosing this, is on Passwordless sign-in.

Your address doesn't stay

After the code is delivered, the address itself is thrown away. What's kept is the result of running it through a one-way scramble: a fixed string of characters that can be produced from your email but can never be turned back into it. That scramble is what recognises you as the same person next time. We cannot look up an account by email address, and neither could anyone who stole the database.

What the extension can see

Only the sites on its list

An add-on can normally ask your browser for permission to run on every website you will ever open. Most ad blockers and password managers do exactly that. Emojery doesn't have that permission. It names the 9 sites it supports, plus its own, and the browser flatly refuses to load it anywhere else. On every other page you visit, it isn't running at all. Your browser shows you the same list, taken straight from the add-on's own file; our marketing can't touch it.

What it looks at, and what actually leaves

On a supported page it reads the page for 2 narrow purposes: working out where the button should go, and working out which item you're reacting to. That reading happens inside your browser and stays there. What leaves is small: an anonymous question asking "what are the counts for these items", and, if you react, the address of the item plus the emoji you picked. Nothing you type is read. Private pages get no button at all. The permission-by-permission breakdown is on Browser permissions.

No ads, no tracking, nothing to sell

There's no advertising, no tracking pixels, and no data buyers, and the code is public for anyone to check. That's partly principle and partly arithmetic: Emojery is a donation-funded open-source project, so tracking you would be an expense with nothing on the other side of it. If you'd rather not take that on faith, the source code is right there, and Before you install answers the same worry with things you can check yourself.

If you change your mind

Leaving is as easy as arriving

Uninstalling takes 2 clicks and removes everything stored on your computer with it, because your reaction history was only ever there. If you made an account, the extension's own menu has a Delete account button: press it and your record is gone, and every reaction you ever left is subtracted back out of the public totals. No email to write, no support ticket, no "are you sure you want to lose your benefits" screen.

The words, translated

Words that show up on the other pages here, and what each one actually means.

That's the whole thing

A button for reactions the site never offered, counts you can re-count yourself, and a sign-in that costs you an email and nothing else. If you'd like any of it in full detail, every claim on this page has a longer page behind it.