Build a spec-perfect commit line from a type, scope, and one-line summary, with live validation and footers
- Runs locally
- Category Developer & DevOps
- Best for Formatting, validating, shrinking, or inspecting code-adjacent text.
# Pick a type and write a description to build your commit message
- Description is required.
What this tool does
A free conventional commit generator that builds a commit message in the Conventional Commits format and checks it against the spec while you type. Pick a type (feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert), add an optional scope like (api) or (auth), write a short lowercase description, and the tool assembles the header as type(scope): description. Mark a breaking change to add the ! marker and a BREAKING CHANGE footer automatically. Add an optional body for the why and a footer such as Closes #123 to link issues. The live preview shows the exact text you will paste into git commit, with a blank line between the header, body, and footer the way the parsers tooling like semantic-release and changelog generators expect. Validation flags a description that is too long, ends in a period, or starts uppercase, so your history stays clean and your automated changelog and semver bumps keep working. Everything runs in your browser; copy with one click. 100% client-side, nothing is uploaded.
Tool details
- Input
- Files + Text
- The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
- Output
- Live result + Copy + Preview
- The result area focuses on usable output, with copy, download, or preview actions when supported.
- Privacy
- Browser-side processing
- The main tool logic does not call an external API, so inputs normally stay in the current tab.
- Save / share
- Shareable URL state
- Key settings are encoded in the URL so another person can reopen the same setup.
- Performance budget
- Initial JS <= 9 KB
- No WASM budget is declared, keeping the tool quick to open on mobile.
- Best fit
- Developer & DevOps · Developer
- Category and role tags drive related tools, internal links, and quick fit checks.
How to use
-
1. Input
Paste or drop your content into the tool panel.
-
2. Process
Click the button. All processing is local in your browser.
-
3. Copy / Download
Copy the result or download to disk in one click.
How Conventional Commit Generator fits into your work
Use it in the small gaps between coding, reviewing, debugging, and shipping.
Developer jobs
- Formatting, validating, shrinking, or inspecting code-adjacent text.
- Preparing snippets for documentation, tickets, commits, or handoff.
- Checking a small payload quickly without switching tools.
Developer checks
- Run irreversible transforms like minify or obfuscate on a copy.
- Keep secrets out of pasted snippets unless the tool explicitly stays local.
- Use your normal tests or linter before shipping transformed code.
Good next steps
These links move the current task into a more complete workflow.
- 1 Semver Increment Bump a version the npm way and see major, minor, patch and every pre-release result at once, all in the browser Open
- 2 .gitignore Generator Pick your stack — Node, Python, Go, Docker, macOS, VS Code — and get a deduped, sectioned .gitignore. Browser-only. Open
- 3 Semver Compare Tell which semantic version is newer, sort a whole list, and check ^ ~ >= ranges, all in the browser Open
Real-world use cases
Write a feature commit your changelog tooling understands
You just added passkey login and want semantic-release to bump the minor version and group it under Features. Pick feat, set the scope to auth, type add passkey login support, and copy the result: feat(auth): add passkey login support. The header lands clean, the tooling reads feat as a MINOR bump, and the line shows up in the next changelog exactly where reviewers expect it.
Mark a breaking API change so semver bumps to a new major
You are dropping the v1 REST endpoints. Pick feat, scope api, toggle the breaking switch, and write the migration note in the footer field. The tool produces feat(api)!: drop v1 endpoints followed by a blank line and BREAKING CHANGE: use the v2 routes; see the migration guide. Now your release pipeline cuts a MAJOR version automatically and warns downstream consumers.
Teach a team a consistent commit style
A new contributor is unsure how to phrase commits. Send them the tool link with the type dropdown right there: they pick fix, see the scope and description fields, and get an instant warning if they write a capitalized description or end it with a period. The whole team converges on the same format without anyone memorizing the spec.
Link the issue you are closing in the footer
A bug ticket is #214 and you want git and GitHub to close it on merge. Pick fix, write reject empty payloads, and put Closes #214 in the footer. The output is fix(api): reject empty payloads, a blank line, then Closes #214, so the issue auto-closes and the commit is traceable back to the report that prompted it.
Common pitfalls
Capitalizing the description or ending it with a period. The header is a title, not a sentence, so write a lowercase summary with no trailing dot. The tool flags both the capital first letter and the period for you.
Forgetting the colon and the single space after the type. The spec is strict about the type(scope) prefix followed by a colon and exactly one space. Squashing the prefix against the text breaks every parser.
Marking a break only with the ! in the header and skipping the footer. The ! alone is a hint; release tooling reads the BREAKING CHANGE footer line to trigger a major bump. Use the breaking toggle so both get written.
Privacy
Every part of this tool runs as plain JavaScript inside your browser tab. The type, scope, description, body, and footer you type are assembled and validated locally; nothing is sent to a server and nothing is logged. One thing to know: the form fields round-trip through the page URL so a share link reopens the same draft, which means a link pasted into chat records your commit text in the recipient server access log. For a sensitive message, use the copy button and paste the text instead of sharing the URL.
FAQ
Tool combos
Folks in your role tend to reach for these alongside this tool.
- Add Line Numbers Number every line of pasted text — set start, step and separator, zero-pad to align, skip blanks, or strip numbers back off — browser-only
- AES Text Encryptor Encrypt & decrypt text with a password — AES-256-GCM + PBKDF2 via WebCrypto — 100% in your browser, nothing uploaded
- Affine Cipher Encoder & Decoder Encrypt and decrypt the ax+b affine cipher with live modular-inverse check, browser-only
- Age Difference Calculator The exact gap between two birthdays — years/months/days, percentage, and the date one person is twice the other's age — browser-only