piapia123
en

Random Commit Message Generator

Generators

Everything runs locally in your browser — nothing is uploaded

Output

For demos, screen recordings, test fixtures or padding an empty repository, typing ten commit messages by hand is tedious and prone to repetition. This tool produces them in Conventional Commits style — `type(scope): description` — across feat, fix, docs, style, refactor, perf, test, build, ci, chore and revert, with an optional scope, an optional body line and an optional breaking-change marker. The marker adds `!` to the header and, in the footer, a line `BREAKING CHANGE: …` in capitals (lower case or a hyphen means many tools will not recognise it). Set a seed and the same batch comes back.

Features

  • Conventional Commits format: type(scope): description
  • Eleven commit types to choose from
  • Optional scope; whitespace becomes a hyphen
  • One to twenty messages per run, grouped one by one
  • Optional one-line body
  • ⚠️ BREAKING CHANGE as an all-caps footer, with ! in the header
  • A seed reproduces the same batch exactly
  • Uses a cryptographic random source, never Math.random

How to use

  1. Choose a commit type (feat, fix, …)
  2. Add a scope if you want one, such as auth or ui
  3. Set the count and tick body or breaking change as needed
  4. Copy the rows you want, or generate another batch

FAQ

Why must BREAKING CHANGE be upper case?
By the Conventional Commits convention, a breaking change goes in the footer as `BREAKING CHANGE: …` (all capitals, one space). Semantic versioning and changelog generators match that literal, so lower case `breaking change` or the hyphenated `breaking-change` is not recognised — no error, the release just quietly fails to be marked major. The `!` in the header is there so readers who skip the footer still see it.
How does the seed work?
Enter any string and the same batch is reproducible, which is handy for recordings, docs and bug reports where you want the previous run back. Leave it empty to use a cryptographic source that differs every time. Note this is a reproducible pseudo-random generator; it is not for secrets, but commit messages are not secrets anyway.
Can it write descriptions in other languages?
Yes. Descriptions follow the interface language: a Chinese page gives Chinese descriptions, an English page English ones, a Japanese page Japanese ones. The type token and brackets stay English, because they are the Conventional Commits keywords and translating them would break recognition.

Related tools