AI Commit Message Writer

Reading your input…

Share:

About this tool

Turn a diff into a commit message that says why, in Conventional Commits or plain form.

Commit history is documentation you write once and read for years. "fix stuff" and "updates" cost nothing today and cost an afternoon the first time someone bisects a regression back to them.

Paste a diff summary or just describe what you changed. The subject line comes back under seventy-two characters in the imperative mood, saying what changed rather than restating the diff line by line — the diff already says that; the message should say why. Conventional Commits format gives you the type and scope prefix that changelog generators and semantic-release tooling depend on, so the history stays machine-readable as well as human-readable.

How to use

  1. Paste a diff summary or describe what you changed, optionally set a scope, and choose a message style
  2. Press Generate and give it a few seconds.
  3. Copy what you need, or generate again for a different take — every run is fresh.

Frequently asked questions

A convention of type(scope): subject, using types like feat, fix, docs, refactor, test and chore. Tooling reads it to generate changelogs and decide semantic version bumps automatically.

It is the width git log, GitHub and most terminals display without wrapping or truncating. Longer subjects get cut off exactly where they stop being informative.

A summary works better — git diff --stat, or a plain description. A full diff of a large change buries the intent, which is the one thing the message needs to capture.

No. Your input is sent to the AI provider this site is configured to use purely to generate your result, and is not stored here afterwards. There is no account for it to be attached to. Even so, keep passwords, financial details and other people's private information out of it.

The site owner selects one model that powers every tool here, so there is nothing for you to configure. Describe what you need, press Generate, and read the result before you use it.