The translation problem
Commit messages are notes-to-self written mid-task: fix: npe in mapper, wip, address review. They record how the code moved, not what changed for the person using your software. Turning a log into a changelog is a translation job — and it's the part everyone puts off because doing it by hand after every release is tedious.
This tool does the translation in one paste. It groups related commits, rewrites them into outcomes, and drops the ones that don't matter to a reader.
It handles real, messy history
You don't need a year of disciplined Conventional Commits. Paste whatever your log actually looks like:
How it decides what to keep
- Merge commits and reverts — dropped; they're plumbing.
- "wip", "typo", "lint" — filtered as non-user-facing.
- Squashed intent — three commits fixing one bug become one changelog line.
FAQ
What if my commits are a mess?
That's the normal case and it's fine. Turn on improve mode and vague messages get cleaned up before generating.
How big a range can I paste?
A release's worth — 10 to 30 commits is ideal. For huge ranges, generate per tag for sharper output.
Is there a deeper version of this?
Yes — the git commit changelog generator covers Conventional Commits and host-specific output in more detail.
Try it on your commits
Paste your commits, pick a format, copy the result. Unlimited free generations, no account.
try free →