Type : for emoji, GIFs and kaomoji — in any Mac app.
Download · Website · Report an issue
Globalmoji is a free, open-source emoji picker for macOS in the style of Slack and Discord. Type : followed by a name in any text field — Slack, Mail, Notes, browsers, terminals — and the picker appears beside your caret so you can insert emoji, GIFs, ASCII faces and symbols inline.
brew install --cask bevanjkay/tap/globalmojiOr download the DMG from Releases and drag Globalmoji to Applications. Requires macOS 26 (Tahoe) or later. Builds are signed with Developer ID and notarised by Apple.
On first launch, grant Input Monitoring and Accessibility when prompted. Both are required: one lets Globalmoji see the : you type, the other lets it insert your pick.
Type : and a few letters in any text field:
| Key | Action |
|---|---|
↑ ↓ ← → |
Move the selection |
↩ |
Insert the selected item |
⇥ / ⇧⇥ |
Switch between Emoji, GIF, ASCII and Symbols |
esc |
Close the picker |
- Emoji — 1,900+ emoji searchable by name, keyword or Slack/GitHub shortcode. Recently used emoji are boosted in results.
- GIF — GIPHY search. GIFs are pasted as image data with the link as a fallback, so Slack and Discord get the image and plain-text apps get the link.
- ASCII — a curated set of kaomoji like
¯\_(ツ)_/¯. - Symbols — arrows, maths, currency, punctuation, Greek letters and Mac key glyphs like
⌘and→.
Globalmoji lives in the menu bar. Open Settings from there to:
- change the trigger key (
:,;,/,\or`) and how many characters you type before the picker opens - pick a default skin tone
- choose whether items are inserted by pasting or by typing
- launch Globalmoji at login
- add your own GIPHY API key (release builds include a shared one, which is rate limited)
- turn Globalmoji off in specific apps, or limit it to only the apps you choose
Your settings and recents stay on your Mac, in ~/Library/Application Support/Globalmoji/. Nothing is sent anywhere except GIF searches to GIPHY.
The picker doesn't appear, but permissions look enabled. This happens when the app that was granted permission isn't the app that's running: macOS ties each grant to the signature of the build that requested it. Signed releases keep their grants across updates, but you'll hit this if you're upgrading from a v0.1.0-alpha.1 build (those weren't signed with a Developer ID) or running a build you compiled yourself. Use Reset permissions and try again in the setup window (menu bar › Permissions…), or run:
tccutil reset Accessibility me.bevankay.globalmoji
tccutil reset ListenEvent me.bevankay.globalmojithen relaunch Globalmoji and grant both again.
GIF search returns nothing. The shared API key may be rate limited — add your own free key under Settings › GIFs.
Still stuck? Open an issue.
Globalmoji is written in Swift with SwiftUI and AppKit. Building needs Xcode 26:
make generate # regenerate the Xcode project (requires xcodegen)
make build
make testSee AGENTS.md for conventions, packaging and release details, and PLAN.md for what's next. Issues and pull requests are welcome.
MIT — see LICENSE.