What This Tool Does
This tool checks a Git commit message against the Conventional Commits specification: type, optional scope, optional breaking-change marker, and description. Type or paste a message and see exactly which rules pass or fail, updated instantly as you edit.
How to Lint a Commit Message
Type or paste a commit message into the input, or click a type button to insert a prefix like feat: or fix(scope): automatically. The result panel updates live, showing a pass/fail status, a list of specific issues, and a breakdown of the parsed type, scope, and description once the message is valid Conventional Commits format.
What Gets Checked
The subject line must match <type>(<scope>)!: <description>, where type is one of the 11 standard Conventional Commits types, scope is optional, and ! marks a breaking change. The subject must stay at or under 72 characters, have no leading or trailing whitespace, and have at least a 3-character description. If the message has a body, the second line must be blank to separate it from the subject.
A Real Limitation: the BREAKING CHANGE Footer
Conventional Commits allows marking a breaking change two ways: a ! after the type/scope in the header, or a BREAKING CHANGE: line in the footer. This tool only detects the ! shorthand in the header, it does not scan the message body for a BREAKING CHANGE: footer trailer. If your team relies on the footer form, treat this tool as a header-format check rather than a complete breaking-change detector.
Common Uses for a Commit Message Linter
Checking a commit message before running git commit, teaching a team the Conventional Commits format with instant feedback, and quickly composing a correctly formatted message using the type picker instead of memorizing the syntax are all common reasons to use this tool. Use it as a commit message linter online, a commitlint online alternative to validate commit message text against a conventional commit format checker, a git commit message validator and conventional commits checker that helps lint git commit message text, a commit message format checker, and even as a conventional commit generator when you use the type picker to build one from scratch.