Changelog Generator
Turn Conventional Commits into a Keep a Changelog release section.
About this tool
Paste the output of git log --oneline since your last release, enter the new version, date, previous version and repository URL. Commits are grouped into Keep a Changelog sections, breaking changes are listed first, and a compare link and suggested version bump are added.
From commits to release notes
Keep a Changelog is the most widely used format for CHANGELOG.md. It puts the newest release first, with a date and sections: Added, Changed, Deprecated, Removed, Fixed and Security. Conventional Commits (type(scope): subject) make generating it easy. feat becomes Added, fix becomes Fixed, perf and refactor become Changed, and docs gets its own section, while housekeeping types (chore, ci, test, style, build) are left out by default because users don't care about them. A ! after the type or a BREAKING CHANGE footer marks an incompatible change, and these are repeated in a breaking-changes block at the top. The tool also suggests the Semantic Versioning bump: major for breaking changes, minor if anything was added, otherwise patch. Commit hashes and bullet markers are stripped, and scopes are shown in bold. Honest limits: commit subjects are written for developers, so edit the result into language your users understand. Commits that don't follow the convention go under Other for you to sort by hand. For automation, release-please or semantic-release do this in CI. The commit message generator, the SemVer calculator and the README generator are related.
Frequently asked questions
How do I generate a changelog from git commits?
Run git log --oneline LAST_TAG..HEAD, paste the output here and copy the Markdown section.
What is Keep a Changelog?
A convention for CHANGELOG.md: newest version first, dated, with Added, Changed, Deprecated, Removed, Fixed and Security sections.
Which version number should I release?
Major for breaking changes, minor for new features and patch for fixes. The tool suggests one.
Is anything uploaded?
No. The file is generated in your browser and nothing is stored or sent.