JuxtaCode Review: The Diff Tool You Buy Once, While Kaleidoscope Rents Itself to You
Kaleidoscope went subscription with version 4, and its pricing now starts around $8 a month billed annually. JuxtaCode costs $40, once. That single fact frames everything else about this app: it is a deliberate, opinionated alternative for Mac developers who are tired of paying rent on a diff viewer.
What it actually is
JuxtaCode is a native macOS app from solo developer Yori Mihalakopoulos for doing three things well: browsing a repository's history, comparing any two commits or branches side by side, and resolving merge conflicts in a three-way editor. It is not a Git client. There is no staging area, no push, no pull. You point it at a repo (or drive it from Tower, Gitfox, Fork, a VS Code extension, or the bundled juxta command-line tool) and it handles the "what changed and why" part of the job.
Michael Tsai's write-up when version 1.0.2 shipped nailed the distinction: where Kaleidoscope is built around picking two arbitrary versions to compare, JuxtaCode behaves more like a focused Git client. Move through the commit list and it shows each changeset, syntax highlighted, with a file history view that survives renames and moves. Commit search works by message, hash, branch, or tag, and you can filter files by name, type, or kind of change. For reviewing what a branch actually did before you merge it, this commit-centric flow is the app's real argument.
The merge editor is where the money goes
The three-way merge tool labels the commits on either side of a conflict so you can trace which changes caused the collision before resolving it. Word-level differences update as you type in the result pane, and version 1.3 added Twin Focus, which highlights the corresponding word on the other side of a diff when you hover. Release 1.3 also improved the diffing algorithm for rewrapped paragraphs, so a long line reflowed to a column limit shows up as "modified" with the newline differences marked instead of a wall of false changes. These are the touches of someone who resolves merges for a living.
One honest gripe from the app's Show HN thread: a commenter said the "ours/theirs" terminology was confusing enough that they had abandoned Sublime Merge over it, and even Mihalakopoulos admitted he has to stop and think about which term applies. JuxtaCode scatters Ours and Theirs badges through the UI to compensate, but if that mental model has burned you before, expect the same friction here.
Version 1.4 quietly fixed the oldest complaint
Back in that same 2023 Hacker News thread, the first question was whether it could diff two files outside of Git. The answer was "not yet." As of 1.4 (July 2026), non-Git comparisons can be edited in place, saved as .juxta documents, and written back to the original files. Large diffs also render dramatically faster, and juxta merge -a <file> -b <file> launches a merge session straight from Terminal. Version 1.3 even added support as a merge tool for Jujutsu, which tells you the maintainer is paying attention to where version control is heading.
The praise it gets tends to come from working indie devs rather than listicles. David Smith (Widgetsmith, Pedometer++) says he can "easily pick any two commits to compare and navigate changes," and Eerk Hofmeester, maker of Board Game Stats, calls it his go-to for reviewing changes spread across several commits and platforms.
Where it falls short
- macOS only. A common HN reaction was some version of "looks nice, but I won't split my toolchain across operating systems." If you also work on Linux or Windows, this is a non-starter.
- It does one job. No image diffs, no folder comparisons in the Kaleidoscope sense, no staging or committing. You still need a real Git client or the command line alongside it.
- The user base is small, so community resources are thin. You are trusting one developer's release cadence, though the published release notes show steady, substantive updates since 2023.
- Text only. If your work involves comparing images, plists visually, or binary assets, look elsewhere.
Should you buy it?
Pick JuxtaCode if you live on a Mac, resolve conflicts regularly, and resent the subscription Kaleidoscope now demands. The 14-day trial is the full app, so test it against your ugliest merge. Skip it if you need cross-platform consistency or folder and image comparison, because it will never do those things. At $40 with no subscription, it is one of the easier purchases in a Mac developer's toolkit to justify.