Conventional Commit Message Builder

Build commit messages that follow the Conventional Commits specification. Pick a type (feat, fix, chore, docs, etc.), set an optional scope, write the description, add a longer body if needed, and flag breaking changes. The output is ready to paste into git commit -m.

Generated commit

How to use the Conventional Commit Message Builder

Pick a type, optional scope, write the description in imperative mood ("add", not "added"), tick the breaking flag if applicable. The output uses the Conventional Commits format: type(scope): description, optional blank line + body, optional blank line + footer (which includes the BREAKING CHANGE: trailer if flagged).

What is the Conventional Commit Message Builder?

Conventional Commits is a lightweight convention for commit messages that machines can parse. The format: type(scope): description, optional body, optional footer. Tools like semantic-release, standard-version, and changelog-from-commits read these to auto-generate changelogs and version bumps. The convention is widely adopted in JS, Go, and Rust ecosystems and is becoming standard across modern open-source projects.

Frequently asked questions

What are the standard Conventional Commit types?

The common types are feat (a new feature), fix (a bug fix), docs, style, refactor, perf, test, build, ci, chore and revert. feat and fix are the two that typically drive semantic-version bumps.

How does a commit trigger a major version bump?

Add a "!" after the type or scope (like feat!: ...) or include a "BREAKING CHANGE:" footer in the body. Release tools read that and bump the major version.

Does this send my commit message anywhere?

No. The message is built entirely in your browser and only copied to your clipboard when you click copy. Nothing is transmitted or stored.
Embed this tool on your site

Free to embed, no attribution required (but appreciated). Paste this where you want the tool to appear: