Changelog Generator

Generate CHANGELOG.md from git log output with conventional commit parsing and organized sections.

  1. Home
  2. Utility
  3. Changelog Generator

Tip: run git log --all --oneline --format="%h %s%n%b%n---" to get the right format.



Paste git log output above or click "Load Sample" to generate a changelog.

Format Instructions

Expected Input Format

The tool expects git log output in this format using conventional commits:

a1b2c3d feat(auth): add login form validation
Implement OAuth 2.0 with JWT tokens

BREAKING CHANGE: new token format
---
e5f6g7h fix(api): handle null response

Supported Commit Types

feat Features fix Bug Fixes docs Documentation chore Chores refactor Refactoring style Style test Tests perf Performance ci CI/CD revert Reverts

What is Changelog Generator?

A changelog is a file that records all notable changes made to a software project, organized by version and release date. This generator parses git log output formatted with conventional commits and automatically organizes changes into categorized sections such as Features, Bug Fixes, Documentation, Refactoring, Performance, and more.

Maintaining a clean, standardized changelog is a best practice in software development. It helps team members and users understand what has changed between releases, track breaking changes and deprecations, and quickly find relevant commit information. This tool automates the tedious process of manually curating release notes from a git history.

Common use cases include generating release notes automatically before deployments, preparing documentation for open-source projects, tracking breaking changes across versions, and sharing summarized change information with stakeholders who do not need to read raw git logs.

How to Use This Tool

  1. Get your git log — Run git log --all --oneline --format="%h %s%n%b%n---" in your repository and copy the output.
  2. Paste the log — Paste the git log output into the input area. Click Load Sample to see a demo with example data.
  3. Configure settings — Enter the version number and release date, and choose whether to group by commit type or scope.
  4. Toggle options — Enable or disable include scopes, breaking changes, and commit footers based on your preferences.
  5. Generate and export — The CHANGELOG.md content updates automatically. Click Copy to copy to clipboard or Download .md to save the file.

Frequently Asked Questions

What format does the input need to be in?

The tool expects output from git log --all --oneline --format="%h %s%n%b%n---". Each commit entry should include a short hash, subject line with conventional commit format, and an optional body separated by ---.

What are conventional commits?

Conventional Commits is a lightweight convention for commit messages: type(scope): description. Common types include feat, fix, docs, refactor, style, test, chore, perf, and ci. This tool uses these types to organize the changelog into meaningful sections.

Can I use this without conventional commits?

Yes, but the output will be less organized. Commits without a recognized type prefix will be grouped under an "Other" section in the generated changelog. For best results, adopt the Conventional Commits standard in your repository.

Is my git log data sent to a server?

No. All processing is performed locally in your browser. Your git log data never leaves your device.

Can I customize the output format?

You can control the grouping (by type or scope), date format (YYYY-MM-DD, Month DD, YYYY, or DD Month YYYY), and toggle the inclusion of scopes, breaking changes, and commit footers. The output is standard Markdown that works with any Markdown renderer.

Last updated: 9 Jul 2026