The header line follows the spec's exact grammar — type, optional (scope) in parentheses, an optional ! before the colon if you check "Breaking change," then a space and your description — with the optional body and a "BREAKING CHANGE:" footer each separated by a blank line, since the spec requires the body and any footers to be distinct paragraphs from the header.
FAQ
What's the difference between a ! after the type and a BREAKING CHANGE: footer?
They're two ways the spec allows you to signal the same thing — the ! is a compact marker in the header itself, while the footer gives room for a full explanation of what breaks and how to migrate; this builder adds the ! whenever you check "Breaking change" and adds the footer only if you also fill in a breaking-change description.
Does the commit type actually change how my code is built or released?
Not by itself — Conventional Commits is just a message format. Tools like semantic-release or standard-version read that format to decide version bumps (feat = minor, fix = patch, a breaking change = major), but only if you've wired one of those tools into your project; otherwise, this is purely a consistent, readable message.
Free, unlimited, no account. If this saved you a paid tool, a small thanks is appreciated.