RC 2.14.0-rc.3 is green on staging. All 412 end-to-end tests passed on the first run.
Live · runs in your browser
Everything emoji, for every app on earth.
Search that understands slang, films, feelings and 11 languages. Reaction suggestions, photo to emoji, custom emoji, one consistent look on every device, and analytics. One platform, plugged into the app you already have.
A film, a feeling, a typo, another language — try anything.
npm install emojisenseFree plan · no card needed · MIT core
Works with
- React
- Vue
- Svelte
- Angular
- Tiptap
- Lexical
- Swift
- Chrome
- Raycast
- MCP
Use cases
One platform, everywhere people use emoji.
Five small apps, all running the real thing. Click around — they are live.
Type a colon, find the feeling
Autocomplete that understands slang and meaning, plus reaction suggestions for every message.
Emoji inline, while you write
A drop-in Tiptap extension. The same engine works in Lexical and any editor.
Every customer, their own emoji
Custom emoji are searched next to the standard set, with one set per workspace.
Reactions for a photo
Send a picture, get the emoji people would react with. Photos are never stored.
Give your AI good taste in emoji
An MCP server lets any assistant search emoji by meaning, in 11 languages.
launch
Onboarding v2 rollout, launch day
Members: 12
Today
Welcome email is final. “Get started” is now “Set up your workspace”, it won the copy test by a mile.
Rollout hit 100%. Signups are up 18% this morning, great work everyone 📈
Why it matters
Pickers match names. People type feelings.
Most emoji pickers only search official names like “rocket” or “goat”. Here is the same emoji data, searched both ways.
Features
Everything emoji, in one place.
Search, reactions, photos, custom emoji, consistent emoji sets, analytics and tenants — one SDK, one API, one plan. For one app or a thousand customers.
Understands what people mean
Slang, films, idioms and plain feelings — not just official names.
- greatest of all time🐐
- jurassic park🦖
- i'm exhausted🛌
- mind blown🤯
- no cap🧢
- break a leg🍀
Forgives typos
People type fast. Search keeps up.
hallowelen🎃brocoli🥦piza🍕congradulations🥳
11 languages, typed the way people type
Native scripts and Latin spellings: Hinglish, pinyin, Arabizi.
- happy birthday🥳
- feliz cumpleaños🥳
- 生日快乐🎂
- जन्मदिन मुबारक🥳
- عيد ميلاد سعيد🎂
- joyeux anniversaire🥳
- শুভ জন্মদিন🎂
- feliz aniversário🥳
- с днём рождения🎂
- selamat ulang tahun🥳
- doğum günü🥳
Keeps up with culture New
What an emoji means depends on where and when you are. Editors, helped by AI, add what fits right now — next to the answer, never instead of it.
See how it works- greatest of all time🐐⚽🇦🇷🇵🇹Football's greatest-of-all-time debate
- i'm dead😵💀😭Slang for laughing so hard it is too much
- thank you🙏🙇In Japan, thanks and apologies often come with a bow
Instant, even offline
Most searches never leave the device.
0.4 msp95 per keystroke, measured
Reaction suggestions
Send a message, get the reactions people would use.
“so proud of you”
Photo to emoji Beta
A puppy gets 🐶 and 🥹. Photos are never stored.
Your own custom emoji
Upload a set or import it from Slack and Discord. It is searched next to the standard emoji, with your own aliases.
:shipit-rocket::lgtm::deploy-friday::latte-art:Hosted emoji sets
Twemoji, Noto or Fluent, served from the edge — the same look on every device. Even flags on Windows.
Analytics
See what people search for — and what they don't find.
No match: rizzler → add a custom emoji
Teams and environments
Separate keys for dev, staging and production. Invite your team.
- Development
pk_dev_7Hq… - Staging
pk_stg_2Lm… - Production
pk_live_9Xa…
Tenants and webhooks
Building a platform? Give each customer their own emoji set, managed through the API.
- Your platform
- Acme Rockets
- Bloom Café
- Pixel Guild
Private by design
- No user IDs or IP addresses
- No message text, ever
- Photos processed in memory, never stored
- Only anonymous, aggregated search trends
Open-source core
The engine, SDKs, data pack and API server are MIT. Run it on your own Cloudflare account, or let us host it.
MIT engine · SDKs · data · API server
Culture New
Emoji meaning is cultural. And culture moves.
Our editors, helped by AI, map what emoji mean across cultures and moments — and keep it current. It adds to the answer; it never replaces it.
- 🐐Top answer
- Added by culture:⚽🇦🇷🇵🇹
- 🧔♀️
- 🤹
- 🎪
- Football's greatest-of-all-time debateLasting · everywhere · Proposed by AI, approved by an editor
Same answer everywhere, all year.
AI proposes
It drafts associations from holiday calendars, big events and new slang.
An editor decides
A person reviews every one. Nothing goes live without that approval.
Search adds it
Approved emoji join the results after the top answer, and step aside when their moment ends.
Global edge
Fast in Lagos, Lima and Lahore.
Emojisense runs on Cloudflare's network in 300+ cities. Every search is answered in the city closest to your user — never in one faraway region.
- 300+cities on Cloudflare's network. 95% of internet users are within 50 ms of one.
- < 1 msfor answers on the device, at every keystroke. Measured p95: 0.4 ms.
- ≈ 50 msfor an AI meaning search inside the edge. Measured p50: 52 ms.
- 0servers, regions or GPUs for you to set up. It works the same everywhere.
Gets better with use
The more people search, the smarter it gets.
Common searches come back instantly, new slang is learned every night, and search stays smart even when your plan runs out.
How a search gets answered
On the device
Names, slang and typos, straight from the built-in dictionary. Works offline, from the first keystroke.
Popular searches, ready in advance
Every night, the searches people use most get smart answers prepared ahead of time and placed close to your users.
Recent answers, kept nearby
Once a new search is understood, its answer stays in the nearest city, so it comes back instantly next time.
AI meaning search
Brand-new phrasing is understood by meaning, at the edge, in about 50 ms.
Past your plan limit, your users still get answers from the device, from popular searches and from recent answers. Only brand-new phrasing waits until next month, and the device answers it meanwhile.
Integrations
Everything emoji, wherever you build.
Search, reactions, photos, custom emoji and hosted sets. Bring the whole platform to the stack you already use.
Frameworks
React hooks and picker: docs
A drop-in picker built on Frimousse, or hooks for your own UI.
Web component: docs
A complete picker in one tag, for any framework or none.
JavaScript engine: docs
The engine on its own: browsers, Node, Deno, Bun and Workers.
Editors and pickers
Tiptap extension: docs
Colon autocomplete. Type
:fire:, get 🔥.Lexical plugin: docs
Colon autocomplete as a typeahead plugin for React.
emoji-mart adapter: docs
Keep the emoji-mart picker. Give it search that understands people.
Native and apps
Swift package: docs
The same engine, native on iOS 16+ and macOS 13+.
- from source
Chrome extension: docs
An emoji picker for every text field, one shortcut away.
- from source
Raycast extension: docs
Search emoji by meaning from your launcher. Works offline.
AI and servers
MCP server: docs
Emoji search and reactions for Claude and other AI assistants.
HTTP API: docs
Search, reactions and photo to emoji, from any language.
- from source
Self-hosted API: docs
The whole API as one Worker on your own Cloudflare account.
Custom emoji in Slack or Discord? Bring them along on Pro.See plansAll docs
For developers
Add it in minutes, not sprints.
One SDK for search and pickers, one API for reactions, photos and custom emoji, and integrations for the stack you already use.
- Keeps your picker and your design
- Works offline from the first keystroke
- MIT-licensed core you can self-host
npm install @emojisense/react frimousse
import { useEmojisense } from "@emojisense/react";
import { EmojisensePicker } from "@emojisense/react/frimousse";
const sense = useEmojisense({ packBaseUrl, endpoint, publishableKey });
<EmojisensePicker emojisense={sense} onEmojiSelect={({ emoji }) => insert(emoji)} />Pricing
Free to start. Fair when you grow.
Search and reaction suggestions are on every plan. Pay for volume, photos, custom emoji and team features.
Yearly billing is available on Solo. Other plans bill monthly.
Free
For side projects and trying it out.
$0/ month
No card needed
Get a free keyIncludes
- Semantic search and reaction suggestions
- All SDKs and integrations
- Unlimited on-device answers
- 100k AI calls a month
- 100 photos to emoji a month
- 1 app or environment
Solo
For one app with real users.
$5$4/ month
or $48 a year, save $12Billed $48 a year, save $12
Join the Solo waitlistEverything in Free, plus
- 500k AI calls a month
- 1k photos to emoji a month
- 500 custom emoji
- Hosted emoji sets
Recommended
Pro
For teams shipping several apps.
$20/ month
Billed monthly
Join the Pro waitlistEverything in Solo, plus
- 3M AI calls a month
- 10k photos to emoji a month
- 2k custom emoji
- Slack and Discord import
- 30 days of analytics
- 3 apps or environments
- Team members
Scale
For platforms with many customers.
$100/ month
Billed monthly
Join the Scale waitlistEverything in Pro, plus
- 15M AI calls a month
- 75k photos to emoji a month
- 10k custom emoji
- 1 year of analytics
- Unlimited apps or environments
- Tenants
- Webhooks
- Priority support
Search never breaks at a limit. Past your monthly AI calls, on-device, ready-made and cached answers keep working until the next month. What counts as a call?
FAQ
Questions, answered.
What is Emojisense?
One platform for everything emoji in your product: search that understands people in 11 languages, reaction suggestions, photo to emoji, custom emoji, hosted emoji sets, analytics and per-customer emoji for platforms. It plugs into the app and the picker you already have.
Do I need a server?
No. The engine and dictionary run in the browser or app. The hosted API adds meaning search for unusual queries; you can also self-host it on your own Cloudflare account.
Which pickers and frameworks work?
React and the Frimousse picker today, plus a web component for Vue, Svelte, Angular and plain HTML, editor extensions for Tiptap and Lexical, a Swift SDK, a Chrome extension, Raycast and an MCP server for AI apps.
What happens when I reach my plan limit?
Nothing breaks for your users. Popular searches still get smart answers, and the on-device dictionary covers everything else until the next month.
Where does it run?
The engine runs on your users' devices. The API runs on Cloudflare's network in 300+ cities, so every search is answered close to the person typing it. There is no single region to be far from.
What do you know about my users?
Nothing personal. We never store who searched, from which app, or what they wrote in a message. Your usage and analytics stay in your account.
Is it open source?
Yes. The engine, SDKs, data pack and API server are MIT. The hosted service adds daily dictionary updates, analytics and custom emoji.
Emoji, solved. Everywhere.
Give your users emoji that just work — in every language, on every device. Free to start, ready in minutes.