Git Commit Message Generator
Free online Git commit message generator using the Conventional Commits format. Build structured commit messages with type, scope, description, body, breaking changes, and footer fields.
...
What Is a Git Commit Message Generator?
A Git commit message generator helps developers craft well-structured commit messages following the Conventional Commits specification. Conventional Commits provide a standardized format β type(scope): description β that makes commit history readable, enables automated versioning with tools like semantic-release, and simplifies changelog generation. This tool guides you through each part of the commit message to ensure consistency across your project.
How to Use the Git Commit Message Generator
- Select the commit type (feat, fix, docs, style, refactor, perf, test, build, ci, chore, or revert) from the dropdown.
- Optionally enter a scope to indicate the area of the codebase affected (e.g., auth, api, ui).
- Write a concise short description of the change in imperative mood.
- Optionally add a longer body to provide additional context about the change.
- Toggle 'Breaking Change' if the commit introduces a breaking API change and describe what breaks.
- Optionally add footer references such as 'Closes #123' or 'Refs #456'.
- Toggle 'Include emoji prefix' to prepend a visual emoji to the commit type.
- Copy the generated commit message using the copy button.
Use Cases
- Semantic Versioning Automation β Use Conventional Commits to enable tools like semantic-release or standard-version to automatically determine version bumps (major, minor, patch) based on commit types.
- Automated Changelog Generation β Generate structured changelogs automatically from commit history, grouping features, bug fixes, and breaking changes into organized release notes.
- Team Commit Standards β Enforce consistent commit message formatting across development teams, making code review and project history easier to navigate and understand.
- Open Source Contributions β Follow widely-adopted commit conventions when contributing to open source projects that require Conventional Commits for their CI/CD pipelines.
FAQ
What is the Conventional Commits format?
Conventional Commits is a specification for writing standardized commit messages. The format is: type(scope): description, optionally followed by a body and footer. Types like 'feat' and 'fix' map to MINOR and PATCH semantic version bumps respectively, while a 'BREAKING CHANGE' footer or '!' after the type triggers a MAJOR bump.
What commit type should I use?
Use 'feat' for new features, 'fix' for bug fixes, 'docs' for documentation changes, 'style' for formatting changes, 'refactor' for code restructuring, 'perf' for performance improvements, 'test' for test changes, 'build' for build system changes, 'ci' for CI configuration changes, 'chore' for maintenance tasks, and 'revert' for reverting previous commits.
Is the scope required?
No, the scope is optional. It provides additional context about which part of the codebase is affected (e.g., 'auth', 'api', 'ui'). Some teams require scopes while others leave them optional β follow your project's conventions.
What does the '!' before the colon mean?
An exclamation mark '!' placed after the type/scope and before the colon indicates a breaking change. For example, 'feat(api)!: change auth endpoint' signals that this commit introduces a breaking API change, equivalent to adding a 'BREAKING CHANGE' footer.
Can I use emojis in commit messages?
Yes, many teams and open source projects use emojis as visual prefixes for commit types (e.g., β¨ for feat, π for fix). While not part of the official Conventional Commits spec, emojis can improve readability in commit logs and GitHub interfaces. Toggle the emoji option in this tool to include them.