Git diffs & merges, but better.

Browse commits, compare branches, and see how a file changed over time. When a merge gets difficult, JuxtaCode surfaces the context and gives you a precise three-way editor to finish the job.

JuxtaCode showing a repository and a side-by-side comparison of two commits.
Pictured code is from Gifu. Gifu adds protocol-based, performance-aware animated GIF support to UIKit.

“I can easily pick any two commits to compare and navigate changes.”

David Smith, maker of Widgetsmith, Watchsmith, Pedometer++ and Sleep++, found JuxtaCode worked better for the way he reviews his code changes.

New in version 1.3

  • TwinFocus: highlights corresponding words across a side-by-side diff.
  • Improved recognition when text mainly differs by its line breaks.
  • Clearer connectors reveal scattered word changes in large modified segments.
  • JuxtaCode can now serve as a merge tool for Jujutsu.
  • Large diffs generate faster, alongside further fixes and quality improvements.

Dive deep

Move through the timeline in the sidebar to inspect fully expanded changesets with syntax highlighting. Select any two commits or branches for a focused side-by-side review.

Open a file to follow its complete history, even when it has been renamed or moved. Search commits by message, hash, branch, or tag, then filter files by name, type, or kind of change.

Exploring repository history in JuxtaCodeA schematic JuxtaCode repository window moves through several commits and their file changes, then compares the current commit with the first commit in a side-by-side diff.

See the story behind the conflict.

JuxtaCode labels the commits on either side of a conflict, so you can trace the changes that created it before choosing a resolution.

In the three-way merge tool, line-level changes remain visible as the result grows and shrinks. Word differences update as you type, helping you weave together the best of both sides without losing your place.

JuxtaCode three-way merge tool showing two inputs and the merged result.

Fits your workflow.

Launch diffs and merges from Terminal with the juxta command-line tool, or drive JuxtaCode from Tower, Gitfox, Fork, and other Git clients.

Opening a conflicted file from Terminal in JuxtaCodeA schematic Terminal reports a merge conflict. The user types juxta merge with an abstract filename, then the camera moves back as a three-pane merge window opens with purple changes and yellow conflicts.juxta merge

Compare & merge any text.

The same diff and merge tools work with any plain text, even when it is not in a Git repository. Open a file, drag in a group, or paste text to begin. From any comparison, start a new three-way merge.

JuxtaCode showing several plain-text files and a side-by-side comparison.

“Very happy with JuxtaCode! It's so useful to view all differences over several commits… Highly recommended!”

@eerko, maker of Board Game Stats, recommends JuxtaCode for reviewing changes spread across several commits and platforms.

★★★★★

Really fantastic UX

jack135797531

“I like the simplicity of JuxtaCode — I find myself using the paste function most often, quickly opening the app to compare two snippets that I copy to my clipboard in sequence. … The native UX/UI components are particularly strong. Highly recommended overall, well done!”

★★★★★

Best Merge Tool I've Ever Used

jwgoodrick

“This app absolutely nails the git merge conflict flow. … It lays everything out so well visually and surfaces exactly the information I am interested in when trying to resolve conflicts. Best $40 I've spent in a long time, as it significantly improves my workflow. I love that I could purchase this without yet another subscription! …”

Give every diff the attention it deserves.

Try the complete app free for fourteen days, then purchase it once. No subscription.