Type :emoji:, ::symbol::, and :::gif::: shortcodes anywhere on macOS
Type emoji shortcodes anywhere on macOS. :tada: becomes 🎉 in any text field.
Requires macOS 14 or later.
Download the latest DMG from the Releases page and move Mojito to Applications. The app walks through granting Accessibility and Input Monitoring access on first launch. Updates arrive automatically — when one is ready, the menu-bar icon shows a badge.
After you type a colon and a character or two, a picker shows up next to your cursor with fuzzy matches. Arrow keys move the selection; Return or Tab inserts. To skip the picker, type the closing colon — :heart: — and the exact match goes in directly.
Type :? to pull up your favorites, with a row to browse every emoji in a grid.
Other things it does:
:) and <3, and converts text arrows (-> → →, <-> → ↔)::: and a query to drop in a GIF, powered by GIPHY:cmd: for ⌘ and :star: for ★ to currency, arrows, math, and Greek lettersMojito reads keystrokes to recognize shortcodes. That happens on your Mac — nothing you type is logged, stored, or sent anywhere, and password fields are skipped entirely.
Mojito can share anonymous usage stats to help guide what gets built: counts of popular emoji, which features you have switched on, your macOS and app version, and your language and skin-tone preference. It never includes anything you actually type. You’re asked once, you can turn it off anytime in Settings, and the whole dataset is public at mojito.wells.ee/stats. It’s sent at most once a day, carries no identifier, and the server discards your IP. (Dev builds never send it.)
So the only times Mojito reaches the network are the update check, a GIF search when you run one, and — if you leave stats on — that once-a-day anonymous ping.
Available in English (US + UK), German, Spanish (Spain + Latin America), French, Italian, Brazilian Portuguese, Japanese, Simplified and Traditional Chinese, Korean, Hindi, Russian, Polish, Dutch, Arabic, Farsi, and Hebrew. The non-English strings start as LLM drafts and improve as native speakers review them — corrections are very welcome.
To contribute, edit Resources/Localizable.xcstrings (open it in Xcode for the catalog editor, or edit the JSON directly), then open a pull request. Preserve %@ / %lld placeholders, Markdown like **bold**, and backticked code samples like `:tada:` exactly as they appear in the source string.
To preview a locale without changing your Mac’s system language:
scripts/run-locale.sh fr # or de, ja, ar, zh-Hans, etc.
emojibase, Sparkle, KeyboardShortcuts, GIPHY, and a Swift port of fzy.
AGPL-3.0. © 2026 Wells Riley.