Loading...
Preparing your workspace
AI Credits in development — stay tuned!AI Credits & Points System: Currently in active development. We're building something powerful — stay tuned for updates!
Many ToolGrid tools are in testing, so you may notice small issues.Tools in testing phase: A number of ToolGrid tools are still being tested and refined, so you may occasionally see bugs or rough edges. We're actively improving stability and really appreciate your patience while we get everything production-ready.
Loading...
Preparing your workspace
Generate changelogs from Git commit messages, version tags, or manual entries. Create formatted changelogs following Keep a Changelog format, group changes by type, include version numbers, dates, and links. Supports Markdown and other formats.
Note: AI can make mistakes, so please double-check it.
Try a sample:
Output will appear here
Paste commits or try a sample
Common questions about this tool
Provide Git commit messages, version tags, or manually enter changes. The generator groups changes by type (Added, Changed, Fixed, Removed), formats them according to Keep a Changelog format, includes version numbers and dates, and creates a formatted changelog.
The generator supports Markdown format (recommended), plain text, and other formats. It follows the Keep a Changelog specification with sections for Added, Changed, Deprecated, Removed, Fixed, and Security.
Yes, you can paste Git commit messages or connect to a repository. The generator parses conventional commits, groups them by type, filters by version tags, and creates organized changelogs automatically.
Yes, you can customize section names, change grouping, add custom sections, modify formatting, include links to commits/issues, and adjust the changelog structure to match your project's style and requirements.
Yes, the generator works with semantic versioning (MAJOR.MINOR.PATCH). It can group changes by version, detect breaking changes, and format changelogs according to semantic versioning principles.
Paste a list of commit subjects or pull request titles into the input area and click Generate Changelog; the tool parses each line, categorizes them as features, fixes, improvements, breaking changes, or other, and then assembles a structured release note. It looks for conventional keywords like `feat`, `fix`, `perf`, `refactor`, and `breaking` to decide where each change belongs. The result is rendered either as Markdown or plain text depending on the output format you selected.
Use the Target Audience toggles to choose between User and Developer before or after generating the changelog; this setting is passed into the formatting logic and any optional AI enhancement. The core parser always groups changes into high-level sections, while the AI step (if used) can further adjust wording to be more user-friendly or technically detailed. You can switch audiences and regenerate or re-polish the same input without changing your original commits.
Mark lines as breaking in your source text using patterns like `! breaking change`, `breaking:`, or by including the word `break` alongside your description; the parser gives these highest priority and collects them into a dedicated Breaking Changes section. In the output, those items are surfaced at the top with an optional warning emoji so they stand out from normal features and fixes. This helps consumers quickly spot upgrades that may require manual action.
The generator does not connect to git or your hosting provider directly; it only processes whatever plain text you paste or type into the input box. To use it with a repository you would first export or copy your commit messages or PR titles and then feed them into the tool. This design avoids needing credentials or repo access but means it cannot fetch branches or tags on its own.
The parser is optimized for short, conventional-style subjects like `feat: add user authentication` or `fix: resolve crash on startup`, and it also recognizes verbs such as \"added\", \"fixed\", \"improved\", \"optimize\", and \"enhance\" in free-form lines. It trims bullet markers, numbers, and excessive length, then classifies each cleaned line into features, fixes, improvements, breaking changes, or other. Non-matching or mixed descriptions are still included under Other Changes, so they are not lost even if they do not follow a strict convention.
Learn what this tool does, when to use it, and how it fits into your workflow.
The Changelog Generator turns your Git commit messages into organized changelog documents. It works like a lightweight changelog generator online where you paste a list of commit messages and the tool automatically groups them by type, formats them according to your preferences, and creates a changelog ready to share with your team or users. It follows the Keep a Changelog format and supports both Markdown and plain text output, so you can generate changelogs from Git commits without wiring up a full CI pipeline.
Creating changelogs manually is time-consuming and inconsistent. You need to read through many commits, categorize them, write clear descriptions, and format everything properly, which is why teams look for ways to auto generate release notes and changelogs from commit messages or use conventional commits changelog generators for semantic versioning. This generator handles the categorization and formatting automatically, so you can focus on reviewing the content instead of organizing it, whether you follow Conventional Commits or just want a clean summary grouped into features, fixes, improvements, and breaking changes.
The tool is designed for developers, project maintainers, and release managers who want a simple way to generate changelogs from Git commits online without installing extra tooling. Beginners can learn changelog structure by seeing how commits become organized documents, while experienced users can quickly produce consistent, audience-appropriate changelogs and release notes that are easy to paste into GitHub releases, documentation, or internal status updates.
A changelog is a document that lists changes made to a project over time, usually organized by version or date. Good changelogs group changes by type such as new features, bug fixes, improvements, and breaking changes. They help users understand what is new, what is fixed, and what might require action when upgrading.
Many teams struggle with changelogs because they are written after work is done, when details might be forgotten. They might miss important changes, group things inconsistently, or write descriptions that are too technical or too vague. Without a standard format, changelogs become hard to read and less useful. A related operation involves generating commit messages as part of a similar workflow.
The Changelog Generator addresses this by reading your actual commit messages and applying consistent rules. It recognizes conventional commit patterns like feat, fix, perf, and breaking change indicators. It groups similar changes together and formats them according to your chosen style. This means the changelog reflects what actually happened in your commits, organized in a clear, consistent way.
A release manager prepares release notes for version 2.0. They run git log to get all commits since the last release, copy the commit messages, and paste them into the generator. The tool categorizes features, fixes, and breaking changes, and generates a Markdown changelog. They review it, enable AI enhancement for a User audience, and copy the polished result into their release documentation.
A developer wants to document changes in a pull request. They list the commit messages from the PR, paste them into the generator, and select Developer audience with Markdown format. The tool creates a changelog showing what the PR adds, fixes, and improves. They copy it and add it to the PR description.
A team lead needs to communicate updates to stakeholders. They gather commit messages from the last sprint, paste them into the generator, choose User audience and Plain Text format, and enable emojis. The tool creates a user-friendly changelog that highlights new features and fixes. They use AI enhancement to make the language more accessible, then copy it into an email. For adjacent tasks, generating random user profiles addresses a complementary step.
An open source maintainer updates their project changelog file. They collect commits from the latest release, paste them into the generator, and generate a Markdown changelog with emojis. They review the categorization, make minor edits, and copy the result into their CHANGELOG.md file.
The Changelog Generator processes commit messages through parsing and formatting steps. First, it validates that the input is a non-empty string. If the input is empty or invalid, it returns an empty ParseResult with no items in any category.
Next, it splits the input by newlines and processes each line. It trims whitespace from each line and filters out completely empty lines. It also limits each line to 500 characters, truncating longer lines and adding an ellipsis to prevent display issues.
For each non-empty line, the parser removes common prefixes like bullet points, numbers, dashes, and parentheses. This cleaning step ensures that formatted lists or numbered commits produce clean output without extra characters. When working with related formats, generating test data can be a useful part of the process.
The parser then categorizes each cleaned line by examining its content. It converts the line to lowercase for case-insensitive matching. It checks for breaking change indicators first, including the word break, exclamation marks, or prefixes like breaking: or !breaking. If found, the line goes into the breaking array.
If not a breaking change, the parser checks for feature indicators. It looks for lines starting with feat or feature, or containing keywords like added, add, new, or implement. Matching lines go into the features array.
If not a feature, it checks for bug fix indicators. It looks for lines starting with fix or bugfix, or containing keywords like bug, patch:, resolve, or correct. Matching lines go into the fixes array.
If not a fix, it checks for improvement indicators. It looks for lines starting with perf, refactor, improve, optimize, style:, or chore:, or containing the word enhance. Matching lines go into the improvements array. In some workflows, generating configuration files is a relevant follow-up operation.
Any line that does not match the above patterns goes into the other array. This ensures that all commits are included in the changelog, even if they do not follow conventional commit format.
To generate the changelog, the formatter creates section objects for Breaking Changes, New Features, Bug Fixes, Improvements, and Other Changes. Each section includes a title, the array of items from parsing, and an emoji. Sections with no items are filtered out, so empty categories do not appear.
For Markdown format, the generator creates a header, then iterates through sections. For each section, it writes a level 2 header with optional emoji, then lists items as bullet points. For Plain Text format, it uses uppercase headers with underlines, then lists items with bullet characters.
The final output is trimmed to remove trailing whitespace and returned as a single string. This string appears in the preview panel and can be copied or enhanced with AI. For related processing needs, generating CircleCI configs handles a complementary task.
For AI enhancement, the tool sends the generated changelog and audience type to a backend service. The service validates input length and audience, then returns an enhanced version. If the service fails or returns invalid data, the tool falls back to the original changelog, ensuring you never lose your work.
Use conventional commit format in your commit messages for best results. Messages that start with feat, fix, perf, or include breaking change indicators are categorized more accurately. If your team does not use conventional commits, you can still use the tool, but you might need to review categorization more carefully.
Keep commit messages clear and descriptive. Vague messages like updated code or fixed stuff produce vague changelog entries. More specific messages like fix: resolve memory leak in image processing create better changelog content.
Review the generated changelog before using it. The parser uses pattern matching, so it might occasionally miscategorize commits. Check that breaking changes are highlighted, features are grouped correctly, and important changes are not lost in the other category.
Use AI enhancement when you want more polished language, especially for User audiences. The AI can make technical descriptions more accessible and improve overall clarity. However, always verify that enhanced content accurately reflects your changes.
Consider splitting very large changelogs. If you have hundreds of commits, the generated changelog might be too long to be useful. Consider generating changelogs for specific time periods or versions instead of one massive document.
Use the appropriate audience setting. Developer changelogs can be more technical, while User changelogs should focus on benefits and avoid jargon. The AI enhancement adapts to your audience choice, so make sure it matches your intended readers.
Finally, remember that changelogs are communication tools. Even with automatic generation, take time to ensure the final document clearly communicates what changed and why it matters. A well-written changelog helps users understand updates and makes your project more professional.
We’ll add articles and guides here soon. Check back for tips and best practices.
Summary: Generate changelogs from Git commit messages, version tags, or manual entries. Create formatted changelogs following Keep a Changelog format, group changes by type, include version numbers, dates, and links. Supports Markdown and other formats.