All five side by side
| GeeTree 0.3.0 | Fork 2.71.1 | Sourcetree 4.2.19 | Tower 18.0 | GitKraken 12.6.1 | |
|---|---|---|---|---|---|
| Platforms | macOS, Windows and Linux | macOS, Windows | macOS, Windows | macOS, Windows | macOS, Windows, Linux |
| Price | Free, and no account | $59.99, free evaluation | Free | $69–$149 per user per year | Free for local repositories and public remotes; private remotes from US$10 a seat a month |
| Source | Closed | Closed | Closed | Closed | Closed |
| Rendering | Rust and GPUI, drawn on the GPU | Native widgets | Native widgets | Native; .NET on Windows | Electron, Git through NodeGit |
| git | The git you installed | Brings its own | Brings its own — 2.46.0 | Brings its own — 2.51.0 | Brings its own — 2.54.0 |
| Diff and merge | Side-by-side and inline diffs, staging by hunk and by line, a three-way merge editor, blame, and any two versions, files or folders compared | Built in: syntax highlighting, side by side, word-level highlighting, a file tree; conflict merging, blame and image diffs | Built in, without syntax highlighting; whole-file comparison and conflicts go to an external tool | Built in: stage and unstage by chunk, a staged/unstaged switch, adjustable context | Built in: revert by hunk, blame, file history, and edit in the working directory |
| Images, SVG and binaries | Images side by side, SVG as text or as a picture, binaries as hex, even symbolic links | Image diffs (onion skin and swipe), binary diffs | Not offered | Image diffs | Image diffs (the old one over the new), binary diffs |
| The window | 0.6–1.5 s | 0.8–1.1 s | 2.3–2.7 s | About 0.5 s, once its trial window is closed | About 5.7 s, blank |
| The history on screen | 0.6–1.5 s — already drawn when the window opens | 2.4–2.7 s | 5.3–5.6 s, after clicking History | 4.3–5.6 s after that window is closed | 12–13 s |
| How far back | All 1,485,419, read in 3.2–3.8 s | 100,000 by default | — | 50,000 at a time | 2,000, then more as you scroll |
| Searching the history | The whole history in 0.1–0.6 s: messages, authors, paths, SHAs — and the diff of every commit | Could not be measured | — | The whole history, under half a second — messages, authors, committers and file names | One hit where the repository has 19 |
Measured here, on a 2019 iMac (Core i9-9900K, 96 GB, macOS 15.8.1) and a clone of the Linux kernel — 1,485,419 commits, 959 refs, a 7 GB
.git— with the page cache and each app’s own cache warm and automatic fetching turned off. The same stopwatch throughout: the app’s window captured every 0.3 to 0.6 seconds, counting the frame where the commit list has content, so about half a second of precision; Tower is counted from the moment its trial window is closed. 27 and 28 October 2026. A filled cell is a row this table shows GeeTree ahead on; a dash means it was not tested here, and nothing is claimed about it.
Try it
Open your largest repository; the difference shows itself.
Free to use, on macOS, Windows and Linux.
Last updated: 2026-10-28