Skip to main content
ToolsHub

Git Commit Message Generator

Pick a commit type and scope, write a short description, and copy a Conventional Commit message that matches common tooling.

Updated

Files never leave your browser

Your commit message

Choose a type and enter a short description to build a Conventional Commit message.

How to use Git Commit Message Generator

The Git commit message generator builds a properly formatted Conventional Commit from a few fields. Pick a type such as feat or fix, add an optional scope, write a short description, and optionally include a body, an issue reference, or a breaking-change note. It assembles the standard type(scope): description header with the right footers, so your history stays consistent and tooling that reads Conventional Commits — changelog generators, release automation — works out of the box.

  1. Choose a commit type and, optionally, a scope.
  2. Write a short imperative description of the change.
  3. Add a body, issue reference, or breaking-change note if needed.
  4. Copy the generated Conventional Commit message.

Your data never leaves your device — 100% private processing.

Why Conventional Commits matter

Consistent commit messages turn a project’s history from noise into a usable record. The Conventional Commits standard makes each message machine-readable: because the type and breaking-change marker are structured, tools can automatically generate a changelog, decide the next semantic version, and group changes by area. For humans, a glance at the log tells you what each commit did without opening it. Adopting the format is one of the cheapest ways to improve a repository’s maintainability, and generating messages from a form removes the friction of remembering the exact syntax.

Common commit types
TypeUse for
featA new feature
fixA bug fix
docsDocumentation only
refactorRestructuring without behaviour change
choreTooling and maintenance

Writing a good description

The description that follows the type should be short, lower-case, and written in the imperative mood — "add password reset" rather than "added password reset" or "adds password reset" — so it reads as an instruction the commit carries out. Keep it under about fifty characters and save detail for the body, which is the place to explain what changed and why. If the commit closes an issue, add the reference so your tracker links the two automatically. These small conventions compound across hundreds of commits into a history that is genuinely pleasant to read.

Worked examples

Feature

Inputs: feat, scope auth

Result: feat(auth): add password reset

Fix

Inputs: fix, no scope

Result: fix: correct rounding error

Breaking

Inputs: feat, breaking

Result: feat!: … + BREAKING CHANGE footer

Glossary

Conventional Commits
A specification for commit messages that encodes the type and scope of a change in a structured header.
Scope
An optional label naming the area of the codebase a commit affects.
Breaking change
A change that is not backwards compatible, flagged so tooling can bump the major version.
Semantic versioning
A versioning scheme (major.minor.patch) driven by the kinds of changes made.

Related reading

Free · No spam

Get weekly tool tips & updates

New tools, power-user tips, and productivity hacks — delivered free every Friday.

No spam, ever. Unsubscribe with one click.

Related Developer Tools

Explore all Developer Tools.