Mojito — Autocomplete :emoji: everywhere on macOS
Website
💣<br>Your first easter egg!<br>One down, 100 to go
0000000F
00000003
click to reboot
Untitled.txt — Edited
Sarah
iMessage
Today · 9:42 AM
running late, sorry!
be there in 10
MojitoBook Pro ~ zsh
Last login: Sun May 23 16:42:01 on ttys001
wells@mojito ~ % git status
On branch main<br>Changes not staged for commit:<br>modified: Sources/Mojito/Picker/FuzzyMatcher.swift
wells@mojito ~ %
mastodon.social
Wells Riley
@wellsriley
Public, quotes allowed
English
500<br>Post
Reminders
Reply to Sarah
Submit timesheet
Renew library card
New Reminder
itself (not the outer wrapper) so<br>the listbox→option parent/child relationship is direct, which the<br>WAI-ARIA listbox pattern requires. aria-hidden is toggled by JS. -->
↑↓ select<br>↵ insert<br>⎋ dismiss
About
I built Mojito because Slack's :tada: → 🎉 should work everywhere on macOS, not just in Slack. It's free and open source.
FAQ
How is this different from macOS's built-in emoji picker?
The macOS picker (⌃⌘Space) is a separate window — open it, search, click, switch back. Mojito just appears next to your cursor as you type. Hit a colon, type a couple letters, arrow keys + Return to insert. No window, no mouse, no context switch.
Which apps does it work in?
Anywhere you can type — TextEdit, Terminal, Mail, Notes, browsers, Notion. It stays out of apps and sites that already do shortcode emoji natively (Slack, Discord, Messages, GitHub) so you don't get double-handling.
Can I customize it?
A few knobs in the menu bar: default skin tone, an optional symbol mode (:cmd: → ⌘, :star: → ★), and pause for an hour or until tomorrow. Results re-rank by how often you use them, and common emoticons like :) and are recognized.
Can I insert GIFs too?
Yes — type ::: (three colons) then a search term to grab a GIF from Giphy. It's on by default; flip it off in Settings → General if you'd rather keep things local.
What languages is it available in?
The interface is translated into 19 locales — 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. Emoji shortcodes are localized in 14 of those, so :gato: works in Spanish, :chien: in French, and so on. Translations started as LLM drafts; native-speaker corrections are very welcome.
What are the system requirements?
macOS 14 (Sonoma) or later. Native on Apple Silicon and Intel.
How do updates and uninstall work?
Updates arrive automatically through Sparkle, the standard macOS update framework. To uninstall, quit Mojito from the menu bar and drag it from Applications to the Trash.
Is it open source?
Full source on GitHub, AGPL-3.0.
Is it really free? How can I support it?
Yes — no trial, no ads, no upsells. If you'd like to chip in, Buy Me a Coffee is much appreciated.
Is the app full of easter eggs for me to find?
Yes — unlike most software built today, Mojito is both useful and soulful. Have fun with it.
Privacy
Keystrokes are matched against the shortcode list locally — nothing is logged, transmitted, or stored on a server somewhere. Password and other secure-text fields are ignored entirely. There's no telemetry, no analytics, and no account.
Mojito makes two kinds of outbound request. First, an anonymous check for app updates. Second, if GIF search is enabled (on by default — toggle in Settings → General), the text you type after ::: is sent to Giphy to fetch matching GIFs, and Giphy's privacy policy applies to those requests.