Thanks to visit codestin.com
Credit goes to github.com

Skip to content

rgeraskin/emojiq

Repository files navigation

EmojiQ

Frustrated with every app reinventing its own emoji picker? Replace them with EmojiQ.

logo

EmojiQ provides a floating panel with instant access to emojis through a global hotkey, featuring smart search, keyboard navigation, and seamless pasting.

logo2

Inspired by the excellent qmoji by Jared Forsyth.

Features

  • 🚀 Instant access: Open with customizable global hotkey (default: Cmd+Option+Space)
  • 🔥 Favorite emojis: Configurable number of most-used emojis appear first for quick access (default: 10)
  • 🔍 Fast search: Find emojis by name, description, keywords, or by pasting an emoji glyph
  • ⌨️ Keyboard navigation: Navigate with arrow keys; select with Enter/Space
  • 📋 Auto-paste: Selected emojis are automatically pasted into your active application. Or copied to clipboard. Or both 🙂
  • 🎯 Smart positioning: Optional panel positioning under mouse cursor
  • ⚙️ Customizable: Settings for hotkey, UI scale, emoji modes, and more
  • 🎨 Native design: Built with the cross-platform Tauri framework
  • 📦 Small footprint: Low resource usage, thanks to Rust!

demo

Installation

brew tap rgeraskin/homebrew
brew install --cask emojiq

Note: Accessibility permissions are only required if you use "Paste" or "Paste and copy" modes. If you only want to copy emojis to clipboard, you can use "Copy only" mode in settings without granting accessibility permissions.

For paste modes, on first use, click "Open System Settings" in the dialog and enable "EmojiQ" in the list. You can grant or revoke this permission anytime in System Settings → Privacy & Security → Accessibility.

Update note: After updating the app, you will need to re‑grant the Accessibility permission. When prompted, open System Settings. If it appears already granted, remove EmojiQ from the list. On the next permission prompt, the app will reappear in the list and you can grant it again.

Usage

  1. Open the picker: Press Cmd+Option+Space (or your custom hotkey)
  2. Search: Type to filter by name, keywords, or paste an emoji glyph to jump to it
  3. Navigate: Use arrow keys to move between emojis
  4. Hover: Hover over an emoji to see its name and keywords
  5. Select: Click an emoji or press Enter/Space to paste/copy it
  6. Multi-select: Hold Shift and click multiple emojis to build a sequence; release Shift to paste
  7. Boost rank: Option+Click an emoji to increase its rank by 10 without pasting
  8. Remove from favorites: Cmd+Click an emoji to remove it from most used
  9. Settings: Click the tray icon and select "Settings" or press Cmd+, in the main panel
  10. Help: Click the “?” icon next to search or use tray → Help to view shortcuts
  11. Close: Press Escape or click outside the panel

Keyboard Shortcuts

Click the “?” icon next to search or use tray → Help to view shortcuts.

  • Cmd+Option+Space: Open/close the emoji panel (customizable)
  • ↑ ↓ ← →: Navigate between emojis
  • Enter or Space: Select emoji
  • Enter (in search): Paste first emoji
  • Cmd+Click: Remove emoji from most used list
  • Option+Click: Boost emoji rank by +10
  • Shift+Click: Build a multi-emoji sequence; release Shift to paste
  • Cmd+,: Open settings (from main panel)
  • Escape: Close the panel
  • Home/End: Jump to first/last emoji
  • Any character: Start typing to search

Comparison with qmoji

It’s like qmoji, but with:

  • keyboard navigation
  • better focus management
  • toggle the app with the same hotkey
  • clear favorites logic: the more you use an emoji, the higher it appears
  • resizeable window
  • settings: global hotkey, placement, most used emojis count, UI scale factor, emoji selection mode, reset emoji ranks, clipboard support
  • boost rank / remove from favorites with modifier keys, multi-select with Shift key
  • more emojis and more keywords
  • cross-platform by design (macOS supported today)
  • MIT licensed
  • alive and maintained :)

Settings

Access settings via the tray icon menu or by pressing Cmd+, in the main panel:

  • Global Hotkey: Customize the keyboard shortcut to open the emoji panel
  • Place under mouse: Toggle whether the panel appears under your cursor. Or position it manually.
  • Most used emojis count: Configure how many frequently used emojis appear first (0-50)
  • UI Scale Factor: Adjust the size of all UI elements (50%-200%)
  • Emoji selection mode: Choose between:
    • Paste only (requires accessibility permission)
    • Copy only (no accessibility permission needed)
    • Paste and copy (requires accessibility permission)
  • Reset emoji ranks: Clear all usage statistics

Settings and emoji usage statistics are stored in ~/Library/Application Support/dev.rgeraskin.emojiq/.

Roadmap

Someday I might add:

  • Linux support
  • Windows support

Suggest a feature here!

Technical Details

Architecture

  • Frontend: Vanilla JavaScript with HTML/CSS
  • Backend: Rust
  • UI Framework: Cross-platform Tauri framework
  • Data: JSON-based emoji database with metadata

Development

Building from Source

See tauri prerequisites here: Node.js, pnpm, and Rust toolchain.

  1. Clone the repository:

    git clone https://github.com/yourusername/emojiq.git
    cd emojiq
  2. Install dependencies:

    pnpm install
  3. Build and run (development):

    pnpm tauri dev
  4. Build for production:

    pnpm tauri build

Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.