Paste your git log and get a human-readable changelog in Keep a Changelog format.
Turn your raw git history into a clean, categorized changelog in seconds. Free, no signup required — paste your git log output and get release notes your users can actually read.
Writing changelogs by hand is tedious and error-prone, especially at release time when you are trying to remember everything that changed. This tool reads your commit history, groups changes into Added, Fixed, Changed, and Removed, and translates implementation details into reader-facing entries — following the widely-adopted Keep a Changelog format. It works best when your commits follow conventional commits, and you can check how changelog-ready your history is with the free commit message analyzer.
For the full approach, see our guides on how to write a changelog, generating a changelog from git commits, and choosing a changelog management tool.
Script-based changelog tools vs. this one
Classic changelog tools (conventional-changelog, semantic-release) parse the format of your commit messages: a feat: prefix becomes an Added entry, a fix: becomes Fixed. That works exactly as well as your commit discipline — a stretch of wip and asdf commits produces an empty or misleading changelog, because a parser cannot recover meaning that was never written down.
This tool reads the content of the messages instead. It infers what each commit did, groups related changes, drops pure noise (dependency bumps can stay or go), and phrases entries for the person reading the release notes rather than the person who wrote the diff. Messy, human commit history — which is to say, real commit history — still yields a usable changelog.
The comparison of all the main options — Keep a Changelog by hand, script generators, changesets, GitHub Releases, and AI generation — is in our guide to choosing a changelog management tool.
Automate this for your repos
Pushpen generates changelogs automatically on every push. No pasting required.
Connect your repo free