Privacy-first · macOS menu bar app

Slack- and Discord-style :emoji: autocomplete, everywhere on your Mac.

Comoji is a tiny menu bar app that adds colon emoji shortcuts to the text fields you already use, including Messages. Type :liz, pick 🦎, keep typing. Everything runs locally.

v1.1.0 · macOS 13 Ventura or later · Free · Signed & notarized

Messages
Drinks tonight? 🥃
Can't, pet-sitting a 🦎
Comoji · :liz
🦎lizardTab ↹
🐊crocodile
🐉dragon
🐢turtle
🐍snake
the :liz

Type :liz, press Tab, get 🦎, in any app.

Works in the apps you already type in

Messages
Slack
Discord
Notion
Safari
Chrome
Arc

…plus Mail, Notes, TextEdit and most other Mac apps.

How it works

Three keystrokes, no picker

Apple’s Text Replacements solve one alias at a time. Comoji gives you live autocomplete for every emoji you know.

1

Type a colon token

Start any emoji shortcode with a colon, :whis, :sob, :+1, in whatever text field you’re already using.

Drinks tonight? :whis
2

Pick from the popover

A quiet floating panel appears by your caret with the best matches. Arrow keys move the selection; recent picks rank higher.

🥃 whiskey 🍺 beer 🍷 wine
3

Press Tab to insert

Comoji deletes the token and drops in the emoji. Or type the closing colon, :whiskey:, to replace an exact match instantly.

Drinks tonight? 🥃
Features

Small app. Power-user details.

1,870 emoji, Slack & Discord aliases

The full emoji set with Slack- and Discord-style alias names, :thumbsup, :joy, :skull, :tada, so the shortcuts you already know just work.

Fast, keyboard-first

Arrow to navigate, Tab or Return to accept, Esc to dismiss. No mouse, no picker, no breaking your flow.

Type :: to browse all

Forgot the alias? Press your trigger twice to open a big, searchable emoji browser, then arrow over and hit Return.

Stickers in Messages

Type /sticker in Messages to search a big library of animated stickers and drop one into the conversation. Popular ones ship in; the rest stream from Google’s Noto set.

GIFs in Messages

Type /gif in Messages to search animated GIFs powered by GIPHY and drop one into the conversation. Its own command, separate from /sticker and your :emoji: shortcuts.

Pick your trigger key

Prefer / or ; over :? Choose the key that opens a token in Preferences. Suggestions, examples and the browser all follow it.

Disable in any app

Password managers, terminals and VMs are ignored by default. Turn Comoji off in any other app from Preferences › Privacy.

Disable on any website

Add a domain like github.com and Comoji stands down on that site in your browser, subdomains included.

Skin tones, remembered

Pick a Fitzpatrick tone for 👋 👍 🙏 and Comoji saves it as your default. Tone choice persists; ranking stays per emoji.

Learns your favorites

Recent-use ranking floats the emoji you actually send to the top of the list, locally on your Mac.

Exact-match auto-replace

Type a full :shortcode: and the closing colon swaps it instantly. Prefixes never auto-fire, so there are no surprises.

Updates itself, quietly

Comoji checks for new versions in the background and shows a gentle Update button in the menu bar, never an interrupting pop-up. Every update is signed and verified before it installs. Turn it off anytime.

Privacy: local only

Your keystrokes never leave your Mac.

Comoji reads keystrokes locally for one reason: to spot a colon emoji shortcut. That’s it.

  • No network calls in the core app
  • Raw typed text is never logged
  • Message contents are never uploaded
  • Secure password fields are always ignored
  • No account, no telemetry, no cloud
What people say
“I was so used to expressing myself through emojis and stickers in Slack that Messages started to feel like the Stone Age. Comoji solved that for me 👍 🎉 🍾”
Alan SealesCTO, Broadway Podcast Network
FAQ

Questions, answered

Which apps does Comoji work in?

Messages is the flagship, but Comoji works in most native and web text fields, Mail, Notes, TextEdit, Safari, Chrome, Arc, Slack, Discord, Notion and more. It uses synthetic backspace + paste, so it doesn’t depend on each app exposing perfect text APIs.

Does Comoji send my keystrokes anywhere?

No. Comoji processes keystrokes locally only to detect emoji shortcuts. Message contents are never uploaded, raw typed text is never logged, and there are no network calls in the core app. The exceptions are the optional sticker and GIF features: stickers download artwork from Google’s emoji CDN the first time you use one, and GIFs send the word you search to GIPHY to fetch matching results. Both move only the search word and the artwork you pick, never any message or typed text. Secure password fields are always ignored.

Why does it need Accessibility and Input Monitoring permission?

Input Monitoring lets Comoji notice when you type a shortcut like :lizard, and Accessibility lets it read the active text field and insert the emoji. These are standard for Mac productivity utilities. Comoji explains both during a short onboarding and shows live grant status.

Can I turn Comoji off in certain apps or on certain websites?

Yes. In Preferences › Privacy you can add any app to a disabled list, and any website domain (like github.com, subdomains included) where Comoji should stand down in your browser. Password managers, terminals and VMs are excluded by default, and the menu bar shows when Comoji is disabled in the current app or site. Website detection works in Safari, Chrome, Edge, Arc, Brave and AI browsers like Comet and ChatGPT Atlas.

Can I change the : trigger key?

Yes. If the colon gets in your way, pick a different token-opening key, semicolon, slash, backslash, @, #, ~ or |, in Preferences › Shortcuts. Everything updates to match: the suggestion popover, the in-app examples, and the double-tap browser.

What if I can’t remember an emoji’s shortcode?

Type your trigger key twice, :: by default, to open a large, searchable emoji browser. Search or arrow through the full set, press Return to insert, and it drops the emoji right back into the field you were typing in.

Can I send stickers too?

Yes, in the Messages app. Type /sticker, then a search word, to bring up a big library of animated stickers, then arrow over and press Return to drop one into your conversation. A popular set ships with the app for offline use; the rest stream from Google’s open Noto emoji set the first time you use them, then cache locally. Animated stickers stay animated once the message is sent.

Can I send GIFs?

Yes, in the Messages app. Type /gif, then a search word, to pull up matching GIFs from GIPHY, arrow over and press Return to drop one into your conversation. Results stream live from GIPHY and cache locally, and the picker shows GIPHY attribution. Like stickers, GIFs only fetch the artwork you pick — never any message or typed text.

Does Comoji update itself?

Yes. Comoji checks for new versions in the background and, when one is ready, shows a quiet Update button in the menu bar instead of an interrupting pop-up. Every update is Developer ID signed and cryptographically verified before it installs, then the app relaunches in place. Prefer to update by hand? Switch off “Keep Comoji up to date” in Preferences and check whenever you like.

Will it interfere with my normal typing?

It’s built to favor false negatives over false positives. The token buffer resets aggressively, on clicks, arrow keys, app switches and invalid characters, and Tab/Return are only intercepted while the popover is visible. If Comoji isn’t sure, it does nothing.

How do I install it?

Comoji is a direct download for macOS 13 Ventura or later. It’s Developer ID signed and notarized, download the DMG, drag it to Applications, and grant the two permissions on first launch.

How much does it cost?

Free. Comoji is a small, focused Mac utility, no account, no subscription, no cloud service.

Add :emoji: to your whole Mac.

Free, signed, and built to stay out of your way. Download Comoji and your first :liz is seconds away.

v1.1.0 · macOS 13 Ventura or later · Free