Git graph from git log

Turn your history into a git graph.

Paste the output of git log and LetDraw draws a git graph you can edit: one box per commit with its short hash and message, branch and tag names on the commits they point to, and arrows from each commit to its parents. Merges and branches finally make sense at a glance.

Repo history · from git log
a1f9e3c Merge branch 'login' 7b8e4d0 login · Add login form c51f9e2 Update README 52d0b7a Add login API client 3e8a1f4 v1.2 · Release 1.2
Step by step

How to visualize git history

One command in your terminal, one paste in LetDraw.

  1. Run git log with parents

    For the best result run git log --all --pretty=format:'%h %p%d %s' so each line carries the commit, its parents and its branch or tag names.

  2. Paste it into Generate from Code

    Open Generate from Code (a Pro feature) from the More tools menu and paste. The git log is recognised automatically and a live preview appears.

  3. Choose the direction

    Lay the commits out top-down or left-right, and switch between a clean and a sketchy look.

  4. Insert and explain

    Drop the graph on the canvas, circle the commit that matters, add notes, then share a link or export as PNG, SVG or PDF.

Branches and merges, drawn for you

A git graph you can edit, not just look at

Commits that carry a branch or tag are shown in green, merge commits in amber and the rest in blue, with an arrow from every commit to each of its parents. Because the result is made of normal LetDraw shapes, you can drag a branch aside, highlight a bad merge or add a sticky note before you share it.

  • Branch and tag names shown on the commits they point to
  • Merge commits highlighted, with arrows to every parent
  • Up to 200 commits per paste, with --graph rails tolerated
Try it now
$ git log --all --pretty=format:'%h %p%d %s' a1f9e3c 7b8e4d0 c51f9e2 Merge branch 'login' 7b8e4d0 52d0b7a (login) Add login form c51f9e2 3e8a1f4 Update README 52d0b7a 3e8a1f4 Add login API client 3e8a1f4 (tag: v1.2) Release 1.2 a1f9e3c 7b8e4d0 c51f9e2 52d0b7a 3e8a1f4
What people use it for

When a picture says more than a log

Branch history is hard to explain in words and easy to explain in a picture.

Onboarding

Show new teammates how main, release and feature branches relate in your real repository.

Code reviews

Attach a picture of what a branch contains and where it will merge, right in the review.

Untangling a messy merge

Lay out the commits around an incident and mark where the wrong change came in.

Release notes and docs

Show which commits landed between two tags and export the graph as PNG, SVG or PDF.

Branching strategy

Compare how your team actually branches with the workflow you agreed on.

Teaching git

Turn a demo repository into a diagram and draw on it live while you explain rebase and merge.

Questions

Git graph FAQ

Which git log format works best?
Each line should start with a commit hash, followed by its parent hashes, optional decorations in brackets and the subject. git log --all --pretty=format:'%h %p%d %s' produces exactly that.
What about git log --oneline or --graph?
Both are accepted. The ASCII rails from --graph are stripped, but --oneline has no parent hashes, so the commits are drawn as a single straight line instead of real branches and merges.
Does my history leave the browser?
No. The log is parsed and laid out entirely in your browser. Only the diagram you insert is saved, like any other drawing.
Is it free?
Generate from Code, which turns git log into a diagram, is part of Pro and Enterprise. The Free plan still gives you the full canvas, every diagram type and export to PNG, SVG and PDF, with no credit card.

See your branches, not just read about them.

Open LetDraw, paste your git log and get a commit graph you can edit and share.