VisualDiffer Released Open Source

15 hours ago 1

VisualDiffer is a macOS application designed to visually compare folders and files with clarity and speed.
It lets you instantly see what has changed between two directories — new, modified, or missing files — through a clean side-by-side interface.
The app helps developers, designers, and anyone managing multiple versions of projects to easily identify differences, filter unwanted files, and synchronize content more efficiently.

  • 🟩 Side-by-side folder comparison — instantly highlights differences between directories (added, removed, or modified files).
  • 🧩 File-level diff view — inspect detailed content changes line-by-line (for supported file types).
  • 🧹 Powerful filters — exclude version control, backup, or temporary files (e.g., .git, .svn, .zip, .DS_Store).
  • 🖱️ Drag & drop support — compare folders by simply dragging them into the app window.
  • 📦 Export and automation — integrate comparisons into scripts or workflows using CLI tools (if available).
  • Fast comparison engine — optimized to handle large folder structures efficiently.

For more information, visit the VisualDiffer Wiki.


Warning

This is a port of the original project written in Objective-C. The Swift code was rewritten from scratch without using conversions made by AI models. Maximum care was taken in rewriting the code, but regressions or new bugs are possible.


Note

The installed application:

  • is not notarized
  • is sandboxed

Notarization is Apple's automated security check for macOS apps. When the application is launched the warning "unidentified developer" may appear. To bypass this block, please following the steps described here

Sandboxing restricts what an app can access on your Mac, for example the application can only access files/folders the user explicitly grants access to.

Download from releases, unzip, and drag the app to Applications folder

Clone the repository and build the app:

git clone https://github.com/<your-account>/visualdiffer.git cd visualdiffer # copy files to local usage cp ./Signing-Template.xcconfig ./Signing.local.xcconfig cp ./Versions-Template.xcconfig ./Versions.local.xcconfig cp ./Signing-Template.xcconfig ./visdiff/Signing.local.xcconfig cp ./Versions-Template.xcconfig ./visdiff/Versions.local.xcconfig cp ./Signing-Template.xcconfig ./Tests/Signing.local.xcconfig cp ./Versions-Template.xcconfig ./Tests/Versions.local.xcconfig

Open in Xcode


Thanks to everyone who has helped improve VisualDiffer!

Name Role
Davide Ficano Creator & Maintainer
Pablo J. Malacara Application Icon

Contributions, issues, and feature requests are welcome!
To contribute:

  1. Install swiftformat and swiftlint
  2. Fork the repository
  3. Create a new branch (feature/xyz or fix/abc)
  4. Run ./scripts/lint.sh to apply swiftformat and swiftlint
  5. Commit your changes with clear messages
  6. Open a pull request describing your update

⚠️ Please follow the existing code style and include tests or examples when possible.


Released under the GPL3 License.
See LICENSE for details.


VisualDiffer was inspired by the need for a fast, reliable, and elegant folder comparison tool for macOS.
Thanks to all contributors, testers, and users who continue to improve the project.

Read Entire Article