Chrome extension
An emoji picker for any text field in Chrome, with search on the device.
On this page
An emoji picker for any text field in Chrome. Put the caret in a field, press Ctrl+Shift+Space (⌘⇧Space on macOS), type what you mean and press Enter. Search runs on the device, with the English and Turkish packs inside the extension.
- “ship it”🚀
- “jurassic park”🦖
- “kolay gelsin”💪
Install
pnpm install
pnpm --filter emojisense build && pnpm data:build
pnpm --filter @emojisense/chrome-extension build # → apps/chrome-extension/dist- Open
chrome://extensionsand switch on Developer mode. - Choose Load unpacked and select
apps/chrome-extension/dist. - The settings page opens once. Change the shortcut at
chrome://extensions/shortcuts.
Use
| Key | Action |
|---|---|
| Shortcut | Open the picker next to the caret. Press again to close. |
| Arrow keys | Move through the results |
| Enter | Insert the emoji, or copy it where inserting is impossible |
| Shift+Enter | Copy instead of insert |
| Escape, Tab | Close. Focus and caret go back to the field. |
An empty search box shows recently used emoji. The toolbar button does the same as the shortcut.
Where it inserts
- Text inputs and text areas: inserted at the caret, and undo works.
- Rich editors (mail composers, comment boxes, ProseMirror, Lexical, Slate): inserted at the caret through the editor’s own input handling.
- Google Docs, Slides, canvas apps and password fields: the emoji is copied and a card says “press ⌘V to paste”.
chrome://pages and the Chrome Web Store: Chrome does not allow extensions there.
Permissions and privacy
| Permission | Why |
|---|---|
activeTab | Access to the current tab only after the shortcut or a toolbar click. No host permissions, no script on every page. |
scripting | Put the picker into that tab |
storage | Settings and recently used emoji, on this device only |
clipboardWrite | Copy the emoji where inserting is impossible |
Search is offline by default. Search by meaning, on the options page, sends the normalized query to the API address you enter, with a publishable key. Secret keys are refused. Add the extension origin shown on the options page to the key’s allowed origins.