True Human Design
Software / Diffinity

Diffinity is a free diff and merging tool for Windows with focus on accurate and easy to read source code diffs. It will compare the contents of two text files and show all differences line by line and also which individual characters/words that differs.

 - Improved diffing quality for xml and c-style source code
 - Thumbnail view of all diffs
 - Differentiates between changed, removed and added lines
 - Instance highlighting - double click or search for a word to show all instances of it
 - Syntax highlighting
 - Supports unicode and auto detects encoding (and warns if encoding mismatch)
 - Customizable interface
 - In-line diffs live updated as you type
 - Windows Explorer shell integration
 - Portable (can be run directly from an external device)

Click image for a larger view:

Diffinity text diff example
Diffinity source code diff example
Diffinity source code diff example with customized settings

Reviews, awards, anti-virus reports
    Editor's Pick - Tested by         download

Version history
[Diffinity 0.8.6]         2018-08-27
- Added popup if files are identical, using a binary check before loading the files
- Thumb view look tweaked and view indicator color can be set in preferences
- Syntax coloring overhaul:
   - unified all colors for all languages to use the same pallet, work better on the dark theme and also made them a little more color blind friendly
   - removed all highlighting causing bold or changed background to avoid confusion with a diff change
   - added support for CLLE, Json, Python, R, RPGLE, TSQL and fixes for some of the existing ones
   - enabled syntax highlighting by default
- Added go to last/first diff and next/prev match
- Added setting for if instance highlighting should highlight on double click or selection changed
- Added error reporting to Diffinity, a popup with information on how to report the crash
- Made text component not dirty even if touched if it has loaded no file and has no text
- Added Copy to left/right on context menu
- Added so text can be set to bold
- If only left editor has a file opened default left to handle keyboard input
- Close preferences on Esc also when not focused
- Fixed so horizontal scroller ignore empty text editors and fully collapsed editors
- Open files dialog tweaked
- Minor optimizations
- Bugfix: settings was sometimes not loaded if locked by another instance of Diffinity, such as when diffing >20 files at the same time
- Bugfix: rediff was done twice on save if both left and right file had changed
- Bugfix: instance highlights got messed up when switch L/R was clicked
- Bugfix: horizontal scrollbar and live edited edits was incorrect until rediff was pressed after indenting severeal lines
- Bugfix: clearing out the path/clicking New empty diff resulted in scroll bar not updating correctly
- Bugfix: fixed crash in horizontal scroller for a certain case when entering text and moving the splitter
- Bugfix: diffinity could crash for a certain text diff
- Bugfix: fixed preferences dialog being blank after closing the syntax highlight tab and opening preferences again
- Bugfix: fixed crash and diffing issues with selecting all text on one side and deleting/replacing it
- Bugfix: instance highlights on the first or last column not shown as such in thumb view
- Bugfix: instance highlights was rendered too wide if the total text was short enough
- Bugfix: externally editing the files opened in Diffinity using Visual Studio did not show the file changed on disk dialog
- Bugfix: if on last line and pressing F5 the text was scrolled up one line

[Diffinity 0.8.5]         2018-01-06
- Color themes updated, Grey theme added and Dark theme being actually useable now
- Added setting for inserting spaces instead of tabs
- Added so ctrl + mouse wheel scrolls horizontally
- Added setting for always/never updating text when it changes on disk and fixed cases when it was shown twice
- Diff engine fixes and tweaks for improved diff quality
- Added setting to draw whitespace characters in view pane only, enabled by default
- Better drag and drop support, shows correct drag icon for file/string, supports dropping file protocol strings and can drop files and texts to both path bars and text editors
- Popups updated for opening files, saving, reloading etc
- Fixed search options not showing properly
- "New empty diff" added to File menu
- Fixed rendering artifacts in the text splitter
- Failing to open a file when pressing refresh or typing in a new path will now keep the currently loaded file.
- Opening just one UTF-8 file would show the Encoding mismatch notification
- Diff count updated when doing copy left/right
- Bugfixes for the horizontal scroll bar
- Scrolling the text with the keyboard by moving the caret now updates the diff pane accordingly
- Instance highlights was wrong after doing copy left/right
- Ctrl+tab now always switches focus between left/right text editors
- Fix for incorrect view pane height when starting Diffinity with a non-default font size
- Added "Swap L/R panes" to menu so it is available if toolbar is hidden

[Diffinity 0.8.4]         2017-10-05
- Show whitespace characters added to text editor preferences
- Syntax highlighting no longer highlights inside changed blocks by default and settings added for whether to highlight inside changed/added/removed blocks
- Syntax highlighting is now done when file is opened to avoid stepping being sluggish
- Popup dialog tweaks, fixed issues with some popups ending up behind the app
- Fixed bug with horizontal scrollbar sometimes not scrolling to the far right of the text
- Fixed bug with notification icons showing for files that could not be opened or no files at all, and not showing when diffing text directly without opening files
- Notification icons now flash twice
- Switch left/right now updates syntax highlighting and preserves selected edit and scrolled position
- Rediff on save is no longer triggered if the rediff takes too long (press F6 to rediff manually)
- Added support for unicode line ending characters U+2028 and U+2029
- Color themes tweaked
- Added context menu for when clicking outside text components
- Pressing tab now defaults to select the right text editor
- Various optimizations and fixes

[Diffinity 0.8.3]         2017-03-13
- Added support for ctrl+insert/shift+insert for copy/paste
- Fixed diff line renderer which had several rendering artifacts
- Setting added for whether to listen to file changes on disk
- Setting added for scroll lock between left/right texts
- File changed on disk popup no longer messes up selection
- Several adjacent changed lines were sometimes handled as separate differences
- Notifications could incorrectly be shown during loading of large text files

[Diffinity 0.8.2]         2016-11-06
- First official version

PAD file
Xml file with program specifications used by shareware sites, download here.