Non-MDI tools are preferred since it allows DiffEngineTray to track and close diffs.
- Cost: Paid
- Is MDI: False
- Supports auto-refresh: True
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_BeyondCompare - Supported binaries: .7z, .bcpkg, .bmp, .bz, .bz2, .cab, .chm, .deb, .ear, .gif, .gz, .ico, .img, .iso, .iso, .jar, .jpeg, .jpg, .kmz, .nupkg, .pdf, .png, .rar, .rpm, .rtf, .svg, .swm, .tar, .tbz, .tbz2, .tbz2, .tgz, .tif, .tiff, .war, .wim, .xz, .zip, .zipx
- Command line reference
- Enable Automatically reload unless changes will be discarded in
Tools > Options > Tweaks > File Operations. - For
.kmz, and.nupkgBeyond Compare needs to be configured to treat them as zip.Tools > Options > Archive Types. Scroll down to Zip, then add extra extension to the semicolon delimited list.
- Example target on left arguments:
/solo /rightreadonly /nobackups "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
/solo /leftreadonly /nobackups "tempFile.txt" "targetFile.txt"
- Scanned paths:
%ProgramFiles%\Beyond Compare *\BCompare.exe%ProgramW6432%\Beyond Compare *\BCompare.exe%ProgramFiles(x86)%\Beyond Compare *\BCompare.exe%LOCALAPPDATA%\Programs\Beyond Compare *\BCompare.exe%PATH%BCompare.exe
- Example target on left arguments:
-solo -rightreadonly -nobackups "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
-solo -leftreadonly -nobackups "tempFile.txt" "targetFile.txt"
- Scanned paths:
/Applications/Beyond Compare.app/Contents/MacOS/bcomp%PATH%bcomp
- Example target on left arguments:
-solo -rightreadonly -nobackups "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
-solo -leftreadonly -nobackups "tempFile.txt" "targetFile.txt"
- Scanned paths:
/usr/bin/bcompare%PATH%bcompare
- Cost: Paid
- Is MDI: False
- Supports auto-refresh: True
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_DeltaWalker - Supported binaries: .bmp, .bz2, .doc, .docx, .ear, .gif, .gz, .htm, .html, .ico, .j2k, .jar, .jp2, .jpg, .pbm, .pct, .pdf, .pgm, .pic, .pict, .png, .pnm, .ppm, .ppt, .psd, .rtf, .svg, .tar, .tbz2, .tgz, .tif, .xls, .xlsx, .zip
- Example target on left arguments:
-mi "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
-mi "tempFile.txt" "targetFile.txt"
- Scanned paths:
%ProgramFiles%\Deltopia\DeltaWalker\DeltaWalker.exe%ProgramW6432%\Deltopia\DeltaWalker\DeltaWalker.exe%ProgramFiles(x86)%\Deltopia\DeltaWalker\DeltaWalker.exe%PATH%DeltaWalker.exe
- Example target on left arguments:
-mi "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
-mi "tempFile.txt" "targetFile.txt"
- Scanned paths:
/Applications/DeltaWalker.app/Contents/MacOS/DeltaWalker%PATH%DeltaWalker
- Cost: Free with option to donate
- Is MDI: False
- Supports auto-refresh: True
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_Diffinity - Supported binaries: .svg
- Example target on left arguments:
"targetFile.txt" "tempFile.txt" -forceNewInstance
- Example target on right arguments:
"tempFile.txt" "targetFile.txt" -forceNewInstance
- Scanned paths:
%ProgramFiles%\Diffinity\Diffinity.exe%ProgramW6432%\Diffinity\Diffinity.exe%ProgramFiles(x86)%\Diffinity\Diffinity.exe%PATH%Diffinity.exe
- Cost: Paid
- Is MDI: False
- Supports auto-refresh: True
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_ExamDiff - Supported binaries: .svg
- Command line reference
/nh: do not add files or directories to comparison history/diffonly: diff-only merge mode: hide the merge pane
- Example target on left arguments:
"targetFile.txt" "tempFile.txt" /nh /diffonly /dn1:targetFile.txt /dn2:tempFile.txt
- Example target on right arguments:
"tempFile.txt" "targetFile.txt" /nh /diffonly /dn1:tempFile.txt /dn2:targetFile.txt
- Scanned paths:
%ProgramFiles%\ExamDiff Pro\ExamDiff.exe%ProgramW6432%\ExamDiff Pro\ExamDiff.exe%ProgramFiles(x86)%\ExamDiff Pro\ExamDiff.exe%PATH%ExamDiff.exe
- Cost: Paid
- Is MDI: False
- Supports auto-refresh: False
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_Guiffy - Supported binaries: .bmp, .gif, .jpeg, .jpg, .png, .svg, .wbmp
- Command line reference
- Image Diff Tool
-ge1: Forbid first file view Editing-ge2: Forbid second file view Editing
- Example target on left arguments:
"targetFile.txt" "tempFile.txt" -ge2
- Example target on right arguments:
"tempFile.txt" "targetFile.txt" -ge1
- Scanned paths:
%ProgramFiles%\Guiffy\guiffy.exe%ProgramW6432%\Guiffy\guiffy.exe%ProgramFiles(x86)%\Guiffy\guiffy.exe%PATH%guiffy.exe
- Example target on left arguments:
"targetFile.txt" "tempFile.txt" -ge2
- Example target on right arguments:
"tempFile.txt" "targetFile.txt" -ge1
- Scanned paths:
/Applications/Guiffy/guiffyCL.command%PATH%guiffyCL.command
- Cost: Paid
- Is MDI: False
- Supports auto-refresh: True
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_Kaleidoscope - Supported binaries: .bmp, .gif, .ico, .jpeg, .jpg, .png, .svg, .tif, .tiff
- Example target on left arguments:
"targetFile.txt" "tempFile.txt"
- Example target on right arguments:
"tempFile.txt" "targetFile.txt"
- Scanned paths:
%PATH%ksdiff
- Cost: Free
- Is MDI: False
- Supports auto-refresh: False
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_KDiff3 - Supported binaries: .svg
--cs CreateBakFiles=0to not save a.origfile when merging
- Example target on left arguments:
"targetFile.txt" "tempFile.txt" --cs CreateBakFiles=0
- Example target on right arguments:
"tempFile.txt" "targetFile.txt" --cs CreateBakFiles=0
- Scanned paths:
%ProgramFiles%\KDiff3\bin\kdiff3.exe%ProgramW6432%\KDiff3\bin\kdiff3.exe%ProgramFiles(x86)%\KDiff3\bin\kdiff3.exe%ProgramFiles%\KDiff3\kdiff3.exe%ProgramW6432%\KDiff3\kdiff3.exe%ProgramFiles(x86)%\KDiff3\kdiff3.exe%PATH%kdiff3.exe
- Example target on left arguments:
"targetFile.txt" "tempFile.txt" --cs CreateBakFiles=0
- Example target on right arguments:
"tempFile.txt" "targetFile.txt" --cs CreateBakFiles=0
- Scanned paths:
/Applications/kdiff3.app/Contents/MacOS/kdiff3%PATH%kdiff3
- Cost: Free with option to sponsor
- Is MDI: False
- Supports auto-refresh: False
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_Neovim - Supported binaries: .svg
- Example target on left arguments:
-d "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
-d "tempFile.txt" "targetFile.txt"
- Scanned paths:
%PATH%nvim.exe
- Example target on left arguments:
-d "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
-d "tempFile.txt" "targetFile.txt"
- Scanned paths:
%PATH%nvim
- Example target on left arguments:
-d "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
-d "tempFile.txt" "targetFile.txt"
- Scanned paths:
%PATH%nvim
- Cost: Free
- Is MDI: False
- Supports auto-refresh: False
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_P4Merge - Supported binaries: .bmp, .gif, .jpeg, .jpg, .pbm, .pgm, .png, .ppm, .svg, .tif, .tiff, .xbm, .xpm
- Example target on left arguments for text:
-C utf8-bom "tempFile.txt" "targetFile.txt"
- Example target on right arguments for text:
-C utf8-bom "targetFile.txt" "tempFile.txt"
- Example target on left arguments for binary:
"targetFile.png" "tempFile.png"
- Example target on right arguments for binary:
"tempFile.png" "targetFile.png"
- Scanned paths:
%ProgramFiles%\Perforce\p4merge.exe%ProgramW6432%\Perforce\p4merge.exe%ProgramFiles(x86)%\Perforce\p4merge.exe%PATH%p4merge.exe
- Example target on left arguments for text:
-C utf8-bom "tempFile.txt" "targetFile.txt"
- Example target on right arguments for text:
-C utf8-bom "targetFile.txt" "tempFile.txt"
- Example target on left arguments for binary:
"targetFile.png" "tempFile.png"
- Example target on right arguments for binary:
"tempFile.png" "targetFile.png"
- Scanned paths:
/Applications/p4merge.app/Contents/MacOS/p4merge%PATH%p4merge
- Example target on left arguments for text:
-C utf8-bom "tempFile.txt" "targetFile.txt"
- Example target on right arguments for text:
-C utf8-bom "targetFile.txt" "tempFile.txt"
- Example target on left arguments for binary:
"targetFile.png" "tempFile.png"
- Example target on right arguments for binary:
"tempFile.png" "targetFile.png"
- Scanned paths:
%PATH%p4merge
- Cost: Paid with free option for OSS
- Is MDI: False
- Supports auto-refresh: True
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_Rider - Supported binaries: .svg
- Example target on left arguments:
diff "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
diff "tempFile.txt" "targetFile.txt"
- Scanned paths:
%LOCALAPPDATA%\Programs\Rider*\bin\rider64.exe%ProgramFiles%\JetBrains\JetBrains Rider *\bin\rider64.exe%ProgramW6432%\JetBrains\JetBrains Rider *\bin\rider64.exe%ProgramFiles(x86)%\JetBrains\JetBrains Rider *\bin\rider64.exe%PATH%rider.cmd
- Example target on left arguments:
diff "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
diff "tempFile.txt" "targetFile.txt"
- Scanned paths:
/Applications/Rider.app/Contents/MacOS/rider/usr/local/bin/rider%PATH%rider
- Example target on left arguments:
diff "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
diff "tempFile.txt" "targetFile.txt"
- Scanned paths:
%HOME%/.local/share/JetBrains/Toolbox/apps/rider/bin/rider.sh%PATH%rider.sh
- Cost: Free
- Is MDI: False
- Supports auto-refresh: False
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_TkDiff - Supported binaries: .svg
- Example target on left arguments:
"targetFile.txt" "tempFile.txt"
- Example target on right arguments:
"tempFile.txt" "targetFile.txt"
- Scanned paths:
/Applications/TkDiff.app/Contents/MacOS/tkdiff%PATH%tkdiff
- Cost: Free
- Is MDI: False
- Supports auto-refresh: False
- Supports text files: False
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_TortoiseGitIDiff - Supported binaries: .bmp, .gif, .ico, .jpeg, .jpg, .png, .tif, .tiff
- Example target on left arguments:
"targetFile.txt" "tempFile.txt"
- Example target on right arguments:
"tempFile.txt" "targetFile.txt"
- Scanned paths:
%ProgramFiles%\TortoiseGit\bin\TortoiseGitIDiff.exe%ProgramW6432%\TortoiseGit\bin\TortoiseGitIDiff.exe%ProgramFiles(x86)%\TortoiseGit\bin\TortoiseGitIDiff.exe%PATH%TortoiseGitIDiff.exe
- Cost: Free
- Is MDI: False
- Supports auto-refresh: False
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_TortoiseGitMerge - Supported binaries: .svg
- Example target on left arguments:
"targetFile.txt" "tempFile.txt"
- Example target on right arguments:
"tempFile.txt" "targetFile.txt"
- Scanned paths:
%ProgramFiles%\TortoiseGit\bin\TortoiseGitMerge.exe%ProgramW6432%\TortoiseGit\bin\TortoiseGitMerge.exe%ProgramFiles(x86)%\TortoiseGit\bin\TortoiseGitMerge.exe%PATH%TortoiseGitMerge.exe
- Cost: Free
- Is MDI: False
- Supports auto-refresh: False
- Supports text files: False
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_TortoiseIDiff - Supported binaries: .bmp, .gif, .ico, .jpeg, .jpg, .png, .tif, .tiff
- Example target on left arguments:
/left:"targetFile.txt" /right:"tempFile.txt"
- Example target on right arguments:
/left:"tempFile.txt" /right:"targetFile.txt"
- Scanned paths:
%ProgramFiles%\TortoiseSVN\bin\TortoiseIDiff.exe%ProgramW6432%\TortoiseSVN\bin\TortoiseIDiff.exe%ProgramFiles(x86)%\TortoiseSVN\bin\TortoiseIDiff.exe%PATH%TortoiseIDiff.exe
- Cost: Free
- Is MDI: False
- Supports auto-refresh: False
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_TortoiseMerge - Supported binaries: .svg
- Example target on left arguments:
"targetFile.txt" "tempFile.txt"
- Example target on right arguments:
"tempFile.txt" "targetFile.txt"
- Scanned paths:
%ProgramFiles%\TortoiseSVN\bin\TortoiseMerge.exe%ProgramW6432%\TortoiseSVN\bin\TortoiseMerge.exe%ProgramFiles(x86)%\TortoiseSVN\bin\TortoiseMerge.exe%PATH%TortoiseMerge.exe
- Cost: Free with option to donate
- Is MDI: False
- Supports auto-refresh: True
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_Vim - Supported binaries: .svg
- Example target on left arguments:
-d "targetFile.txt" "tempFile.txt" -c "setl autoread | setl nobackup | set noswapfile"
- Example target on right arguments:
-d "tempFile.txt" "targetFile.txt" -c "setl autoread | setl nobackup | set noswapfile"
- Scanned paths:
%ProgramFiles%\Vim\*\vim.exe%ProgramW6432%\Vim\*\vim.exe%ProgramFiles(x86)%\Vim\*\vim.exe%PATH%vim.exe
- Example target on left arguments:
-d "targetFile.txt" "tempFile.txt" -c "setl autoread | setl nobackup | set noswapfile"
- Example target on right arguments:
-d "tempFile.txt" "targetFile.txt" -c "setl autoread | setl nobackup | set noswapfile"
- Scanned paths:
/Applications/MacVim.app/Contents/bin/mvim%PATH%mvim
- Cost: Free with option to donate
- Is MDI: False
- Supports auto-refresh: True
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_WinMerge - Supported binaries: .bmp, .bw, .cut, .dds, .exr, .g3, .gif, .hdp, .hdr, .ico, .iff, .j2c, .j2k, .jif, .jng, .jp2, .jpe, .jpeg, .jpg, .jxr, .koa, .lbm, .mng, .pbm, .pcd, .pct, .pcx, .pfm, .pgm, .pic, .pict, .png, .ppm, .psd, .ras, .rgb, .rgba, .sgi, .svg, .targa, .tga, .tif, .tiff, .wap, .wbm, .wbmp, .wdp, .webp, .xbm, .xpm
- Command line reference.
/uPrevents WinMerge from adding paths to the Most Recently Used (MRU) list./wlOpens the left side as read-only./dland/drSpecifies file descriptions in the title bar./eEnables close with a single Esc key press./cfg Backup/EnableFile=0disable backup files.
- Example target on left arguments:
/u /wr /e "targetFile.txt" "tempFile.txt" /dl "targetFile.txt" /dr "tempFile.txt" /cfg Backup/EnableFile=0
- Example target on right arguments:
/u /wl /e "tempFile.txt" "targetFile.txt" /dl "tempFile.txt" /dr "targetFile.txt" /cfg Backup/EnableFile=0
- Scanned paths:
%ProgramFiles%\WinMerge\WinMergeU.exe%ProgramW6432%\WinMerge\WinMergeU.exe%ProgramFiles(x86)%\WinMerge\WinMergeU.exe%LocalAppData%\Programs\WinMerge\WinMergeU.exe%PATH%WinMergeU.exe
- Cost: Paid
- Is MDI: True
- Supports auto-refresh: True
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_AraxisMerge - Supported binaries: .bmp, .dib, .emf, .gif, .j2c, .j2k, .jif, .jp2, .jpc, .jpeg, .jpg, .jpx, .pbm, .pcx, .pgm, .png, .ppm, .ras, .svg, .tga, .tif, .tiff, .wmf
- Supported image files
- Windows command line usage
- MacOS command line usage
- Installing MacOS command line
- Example target on left arguments:
/nowait "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
/nowait "tempFile.txt" "targetFile.txt"
- Scanned paths:
%ProgramFiles%\Araxis\Araxis Merge\Compare.exe%ProgramW6432%\Araxis\Araxis Merge\Compare.exe%ProgramFiles(x86)%\Araxis\Araxis Merge\Compare.exe%PATH%Compare.exe
- Example target on left arguments:
-nowait "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
-nowait "tempFile.txt" "targetFile.txt"
- Scanned paths:
/Applications/Araxis Merge.app/Contents/Utilities/compare%PATH%compare
- Cost: Free
- Is MDI: True
- Supports auto-refresh: False
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_Meld - Supported binaries: .svg
- While Meld is not MDI, it is treated as MDI since it uses a single shared process to managing multiple windows. As such it is not possible to close a Meld merge process for a specific diff. Vote for this feature
- Example target on left arguments:
"targetFile.txt" "tempFile.txt"
- Example target on right arguments:
"tempFile.txt" "targetFile.txt"
- Scanned paths:
%LOCALAPPDATA%\Programs\Meld\meld.exe%ProgramFiles%\Meld\meld.exe%ProgramW6432%\Meld\meld.exe%ProgramFiles(x86)%\Meld\meld.exe%PATH%meld.exe
- Example target on left arguments:
"targetFile.txt" "tempFile.txt"
- Example target on right arguments:
"tempFile.txt" "targetFile.txt"
- Scanned paths:
/Applications/meld.app/Contents/MacOS/meld%PATH%meld
- Example target on left arguments:
"targetFile.txt" "tempFile.txt"
- Example target on right arguments:
"tempFile.txt" "targetFile.txt"
- Scanned paths:
%PATH%meld
- Cost: Paid
- Is MDI: True
- Supports auto-refresh: False
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_SublimeMerge - Supported binaries: .svg
- While SublimeMerge is not MDI, it is treated as MDI since it uses a single shared process to managing multiple windows. As such it is not possible to close a Sublime merge process for a specific diff. Vote for this feature
- Example target on left arguments:
mergetool "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
mergetool "tempFile.txt" "targetFile.txt"
- Scanned paths:
%ProgramFiles%\Sublime Merge\smerge.exe%ProgramW6432%\Sublime Merge\smerge.exe%ProgramFiles(x86)%\Sublime Merge\smerge.exe%PATH%smerge.exe
- Example target on left arguments:
mergetool "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
mergetool "tempFile.txt" "targetFile.txt"
- Scanned paths:
/Applications/smerge.app/Contents/MacOS/smerge%PATH%smerge
- Example target on left arguments:
mergetool "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
mergetool "tempFile.txt" "targetFile.txt"
- Scanned paths:
%PATH%smerge
- Cost: Paid and free options
- Is MDI: True
- Supports auto-refresh: True
- Supports text files: True
- Use shell execute: True
- Environment variable for custom install location:
DiffEngine_VisualStudio - Supported binaries: .svg
- Example target on left arguments:
/diff "targetFile.txt" "tempFile.txt" "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
/diff "tempFile.txt" "targetFile.txt" "tempFile.txt" "targetFile.txt"
- Scanned paths:
%ProgramFiles%\Microsoft Visual Studio\2022\Preview\Common7\IDE\devenv.exe%ProgramW6432%\Microsoft Visual Studio\2022\Preview\Common7\IDE\devenv.exe%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Preview\Common7\IDE\devenv.exe%ProgramFiles%\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe%ProgramW6432%\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe%ProgramFiles%\Microsoft Visual Studio\2022\Professional\Common7\IDE\devenv.exe%ProgramW6432%\Microsoft Visual Studio\2022\Professional\Common7\IDE\devenv.exe%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Professional\Common7\IDE\devenv.exe%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\devenv.exe%ProgramW6432%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\devenv.exe%ProgramFiles(x86)%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\devenv.exe%PATH%devenv.exe
- Cost: Free
- Is MDI: True
- Supports auto-refresh: True
- Supports text files: True
- Use shell execute: False
- Environment variable for custom install location:
DiffEngine_VisualStudioCode - Supported binaries: .svg
- Example target on left arguments:
--diff "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
--diff "tempFile.txt" "targetFile.txt"
- Scanned paths:
%LocalAppData%\Programs\Microsoft VS Code\bin\code.cmd%ProgramFiles%\Microsoft VS Code\bin\code.cmd%ProgramW6432%\Microsoft VS Code\bin\code.cmd%ProgramFiles(x86)%\Microsoft VS Code\bin\code.cmd%PATH%code.cmd
- Example target on left arguments:
--diff "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
--diff "tempFile.txt" "targetFile.txt"
- Scanned paths:
/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code%PATH%code
- Example target on left arguments:
--diff "targetFile.txt" "tempFile.txt"
- Example target on right arguments:
--diff "tempFile.txt" "targetFile.txt"
- Scanned paths:
%PATH%code