Mojito is a lightweight, free utility that adds a searchable, colon‑syntax emoji picker to macOS, simplifying insertion across all apps and offering customizable settings for power users.
Mojito for Mac Brings Free Emoji Auto‑Complete to the Menu Bar

Apple’s desktop ecosystem has long relied on the Control + Command + Space shortcut for emoji insertion. While functional, the shortcut is easy to forget and the built‑in picker lacks the fast, type‑ahead experience that iOS users enjoy. Mojito addresses this gap with a menu‑bar utility that lets you type an emoji’s name between colons (e.g., :smile:) and insert it instantly.
What Mojito Changes on macOS
- Auto‑complete search – As you type the colon‑delimited name, matching emojis appear in a dropdown list, mirroring the behavior of Slack, Discord, and other chat tools.
- Keyboard‑first workflow – No mouse clicks or cursor dragging are required; hitting Enter inserts the chosen emoji at the current caret location.
- Menu‑bar presence – The app lives in the menu bar, consuming negligible resources and staying out of the way when not needed.
- Customizable settings – Users can adjust the trigger shortcut, toggle the display of skin‑tone modifiers, and decide whether the picker should close automatically after insertion.
The utility is built for macOS 15 and later, but it also runs on macOS 14 Ventura with no loss of functionality. It is distributed as a signed .dmg file from the developer’s site, and the code is open‑source on GitHub, allowing anyone to audit or contribute.
Why This Matters for Developers
If you maintain a macOS app that accepts rich text input, you now have a reliable third‑party option to recommend to users who struggle with the native picker. Because Mojito inserts plain Unicode characters, there is no dependency on proprietary APIs; the emojis render using the system font, ensuring consistent appearance across all apps.
For teams building cross‑platform tools (e.g., Electron, Flutter, or React Native desktop wrappers), Mojito can serve as a reference implementation of a lightweight, keyboard‑driven emoji selector. Its source code demonstrates:
- Menu‑bar integration using
NSStatusBarandNSMenuItem. - Real‑time filtering with
NSTextFieldandNSPredicatefor fast look‑ups. - Insertion logic that respects the current first responder, whether it’s a
NSTextView,WKWebView, or a custom text component.
Adopting a similar pattern means you can ship an emoji picker that works uniformly across macOS, Windows, and Linux without reinventing the wheel.
Getting Started and Migration Steps
- Download the latest release from the official page: Mojito for Mac. The installer places the app in
/Applicationsand adds a menu‑bar icon. - Configure the shortcut – Open the preferences window (click the gear icon in the menu bar). Set a key combo that does not clash with existing shortcuts in your development environment.
- Test insertion – Open any text field (Notes, Messages, Xcode console) and type
:thumbs_up:followed by Enter. The emoji should appear instantly. - Integrate with your app – If you provide a custom text editor, ensure it can become the first responder when the picker is active. Mojito uses the standard
NSResponderchain, so no special bridging code is required. - Optional: Contribute – The project’s GitHub repo (github.com/9to5mac/mojito) welcomes pull requests. Common contributions include adding new alias names, improving the skin‑tone selector, or extending support to non‑Cocoa frameworks.
Looking Ahead
While Mojito already covers the core use case of quick emoji insertion, the developer community has identified a few areas for future improvement:
- Multi‑cursor support – Allow insertion at multiple caret locations in editors that support simultaneous editing.
- Clipboard fallback – Copy the selected emoji to the clipboard automatically for apps that block direct insertion.
- Cross‑platform binary – Package the same logic for Windows and Linux, enabling a truly universal emoji picker.
For now, Mojito fills a noticeable gap in macOS’s text‑entry workflow, offering a free, open‑source solution that feels native while staying lightweight.
If you’re interested in exploring the code or contributing, head over to the GitHub repository and check the README for build instructions.

Comments
Please log in or register to join the discussion