Conventional commit checker

Paste one or more commit messages and check them against Conventional Commits 1.0: type, scope, breaking-change marker, subject rules and footers. Runs in your browser.

Free · Runs in your browser
One full message, or many: each line that starts with type: begins a new one. git log --oneline output works.

How to use it

01

Paste messages

One full commit message, or a whole git log --oneline.

02

Read the findings

Each message is checked against the spec and the rules most commitlint setups use.

03

See the release

The checker tells you which release the commits call for: major, minor, patch or none.

What the Conventional Commits spec requires

  • A header of type(scope): description, with a colon and a space after the type or scope. The scope is optional.
  • ! before the colon, or a BREAKING CHANGE: footer, marks a breaking change. The footer token must be uppercase.
  • A blank line between the header and the body, and between the body and footers.

What commitlint adds on top

The popular @commitlint/config-conventional preset also limits types to build, chore, ci, docs, feat, fix, perf, refactor, revert, style and test; wants lowercase types and subjects; forbids a trailing period; and caps the header at 100 characters. This checker flags the same things, and warns past 72 characters because that's where many git tools cut the subject.

From commits to versions

A feat means a minor release, a fix a patch, and a breaking change a major. Work out the exact number with the semver calculator, or write the message from your diff with the commit message generator.

DevRelay does this for every release. DevRelay reads your commit types, labels and diffs on every release to decide what's worth announcing, then drafts it for approval. Start free.
FAQ

Questions about this tool.

01Is "Feat:" valid?

The spec treats types as case-insensitive, so it's valid, but most tools expect lowercase. The checker warns about it.

02Is "feature:" a valid type?

The spec allows any type, but commitlint's conventional preset and semantic-release only recognise the standard list, so use feat.

03Can I check a whole branch?

Yes. Paste git log --oneline main..HEAD; each line that starts with a type is checked as its own message.

04Is my text sent anywhere?

No. The checker runs entirely in your browser.

Or let every release announce itself.

DevRelay reads your commit types, labels and diffs on every release to decide what's worth announcing, then drafts it for approval.

No credit card · Nothing posts without your approval