Git Commit Message Helper

Describe what you changed, and get several well-formatted commit message options — Conventional Commits, scope, tickets, emoji and tone included.

Recent messages

    Copied messages will show up here.

    About this Git commit message helper

    A commit message is a short note attached to every change you save to a Git repository. Good ones make a project's history readable — anyone (including future you) can scan the log and understand what changed and why, without opening a single diff. This tool takes a plain description of what you did and turns it into several well-formatted options, entirely in your browser.

    Describe, don't format

    Just type what you changed in your own words — "fixed the login button on mobile Safari" is enough. The tool auto-detects the commit type (feat, fix, docs, and so on) from your wording, or you can pick one yourself.

    Conventional Commits, built in

    Switch the format to Conventional Commits to get type(scope): subject messages that tools like semantic-release and changelog generators can parse automatically. Add a scope, a ticket number, or mark a breaking change with one click.

    Pick a tone, keep history

    Professional, casual or funny — generate a handful of options and copy the one that fits. Anything you copy is saved to your recent messages list, kept only on your device, so you can reuse or reference it later.

    Tips for writing better commit messages

    • Keep the subject line under about 50 characters and write it in the imperative mood — "add", not "added" or "adds".
    • Describe what changed and why, not how — the diff already shows how.
    • Use a scope (like auth or api) when a change is limited to one part of the codebase.
    • Reserve "breaking change" for commits that actually break backward compatibility.
    • Keep unrelated changes in separate commits so each message stays accurate.

    Frequently asked questions

    Is this commit message generator free to use?

    Yes. There's no limit on how many messages you can generate, no account, and no watermark on the output.

    Is my description sent to a server?

    No. Every suggestion is generated locally in your browser. Nothing you type is uploaded or stored remotely.

    What's the difference between Conventional and Plain format?

    Conventional format prefixes the message with a type and optional scope, like fix(auth): handle expired tokens. Plain format writes a normal sentence with no prefix structure, which suits smaller or personal projects.

    Where is my recent message history stored?

    In your browser's local storage only. It stays on your device, isn't shared anywhere, and you can clear it at any time with the Clear button.

    Should I always use emoji in commit messages?

    It's a style choice some teams use to make commit types visually scannable (Gitmoji). Turn it on if your team likes it, or leave it off for a plainer, more traditional log.