Translate emoji-based commit messages into readable text — and vice versa.
A powerful CLI tool that helps developers understand, improve and standardize commit messages using the popular Gitmoji convention.
Whether you're reviewing ancient commits full of mysterious emojis, trying to suggest better ones, or just want cleaner git history — this tool has you covered.
- Translate emoji commits to human-readable text (
translate) - Suggest appropriate emojis from plain text description (
reverse) - Analyze commit message quality & give score + recommendations (
analyze) - Interactive commit message builder with Conventional Commits support (
interactive) - Beautiful colored output with configurable formats
- Track your most used emojis globally (
stats) - Custom output templates (
template) - Git hooks support (
hook) - Works with last commit via
--lastflag - Supports Conventional Commits detection & mapping
pip install emoji-translate
# or
pipx install emoji-translategit clone https://github.com/YOUR_USERNAME/emoji-translate.git
cd emoji-translate
pip install -e .# Translate last commit
emoji-translate translate --last
# Translate specific message
emoji-translate translate "✨ feat: add dark mode 🐛 fix login bug"
# Suggest emojis from description
emoji-translate reverse "improve API response time and add caching"
# Analyze quality of last commit
emoji-translate analyze --last --verbose
# Start interactive commit builder
emoji-translate interactive
# See your emoji usage statistics
emoji-translate stats
emoji-translate stats --repo # repo-specific stats| Command | Description | Example |
|---|---|---|
translate |
Translate emojis → text | --last, --format=detailed |
reverse "text" |
Suggest emojis from description | reverse "fix security vulnerability" |
analyze |
Score & analyze commit message quality | --last --verbose |
interactive |
Guided commit message creation | |
stats |
Show emoji usage statistics | --repo |
config set/show/reset |
Manage global settings | --format=conventional |
template add/list/remove |
Custom output format templates | |
hook install |
Install git hooks (prepare-commit-msg, etc.) | --type=prepare-commit-msg |
Run emoji-translate --help or emoji-translate <command> --help for more details.
Some of the most common ones:
- ✨ Introduce new features
- 🐛 Fix a bug
- ⚡️ Improve performance
- ♻️ Refactor code
- 💄 UI / style changes
- 📝 Documentation
- 🔥 Remove code/files
- ✅ Tests
- 🔒 Security
- 🚀 Deploy
- 🔧 Configuration
- ⏪ Revert
- ...
Full list → see EMOJI_MAP in source code (70+ emojis supported)
# Change default output format
emoji-translate config set --format=detailed
# Disable colors
emoji-translate config set --no-color
# Show current settings
emoji-translate config show
# Reset to defaults
emoji-translate config reset# Install prepare-commit-msg hook (adds translation as comment)
emoji-translate hook install
# Install commit-msg hook (shows analysis before commit)
emoji-translate hook install --type=commit-msg
# List installed hooks
emoji-translate hook listSimple translation:
✨ Translation: Improve structure / format of the code. Introduce new features. Fix a bug.
Detailed format:
📋 Detailed translation:
✨ → Introduce new features.
🐛 → Fix a bug.
⚡️ → Improve performance.
Analysis:
📈 Score: 85/100 [████████▌░░░░░]
• Emoji count: 3
• Has description: ✅
• Description length: 42 characters
• Conventional type: feat
💡 Recommendations:
• Good job! Message follows best practices.
git clone https://github.com/YOUR_USERNAME/emoji-translate.git
cd emoji-translate
pip install -e ".[dev]" # if you add dev dependencies laterWe welcome:
- New emoji meanings / aliases
- Better regex for edge-case emojis
- Additional output templates
- Hook improvements
- Bug fixes & documentation
Please open an issue first before sending large PRs.
If you need any further help or have any other questions I will be happy to help.
Made with ❤️ and many emojis 2025–2026