Realistic git history without a repo
When you are building or demoing a changelog generator, a commit-graph visualizer, or release tooling, you need realistic git log output, but you do not want to expose a real repository. This tool synthesizes a believable commit history with proper hashes, authors, dates, and Conventional Commits messages, all generated locally.
How it works
A seed drives a mulberry32 pseudo-random generator so the same inputs always produce the same log.
- Hashes are 40 hex characters, matching SHA-1 length. The oneline format shows the first 7, as git does by default.
- Messages follow Conventional Commits: a
type, optional(scope), then a colon and subject. - Dates start at “now” and step backwards a random interval per commit, so the history reads newest-first like real
git log.
Full format looks like:
commit 3f9a2c...e1
Author: Alex Rivera <[email protected]>
Date: Fri, 06 Jun 2026 10:12:00 GMT
feat(api): add pagination to list endpoint
Tips and notes
Use the oneline format when you need a compact list for a changelog screenshot, and the full format when your tool parses author and date fields. Increase the commit count to stress-test rendering. Because everything is seeded, you can reproduce the exact same dataset in a test by reusing the seed.