# Install xcdiff with Homebrew

Tool to diff xcodeproj files. Version 0.14.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:xcdiff
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xcdiff
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:xcdiff
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/xcdiff>
- **Version:** 0.14.0
- **Source summary:** Tool to diff xcodeproj files
- **Homepage:** <https://github.com/bloomberg/xcdiff>
- **Repository:** <https://github.com/bloomberg/xcdiff>
- **Upstream docs:** <https://github.com/bloomberg/xcdiff#readme>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/bloomberg/xcdiff.git>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- xcdiff (cli)
- xcdiff (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.14.0
- Local data: ok
- Upstream repository: https://github.com/bloomberg/xcdiff
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

xcdiff is Bloomberg's Swift-based tool for comparing Xcode project files. Its README describes it as an extensible "git diff for .xcodeproj files", usable both as a command-line program and as a library for custom tools.

### Project history

The project appeared publicly in the Xcode project-generation era, when teams increasingly used tools such as XcodeGen and Tuist to generate .xcodeproj files rather than editing them entirely by hand. Swift Package Index records xcdiff's first public release, 0.2.0, on 22 October 2019, and the GitHub releases page shows continued maintenance through the 0.14.0 release in September 2025.

xcdiff builds on other Swift/Xcode infrastructure instead of parsing project files in isolation. The README credits Tuist's XcodeProj library and Swift Package Manager's utility library, which places xcdiff in the same small ecosystem of tools that inspect, generate, or normalize Xcode project metadata.

### Adoption history

The project is niche by design: it is aimed at teams that need to compare two generated or hand-maintained Xcode projects in a meaningful way. Swift Package Index lists xcdiff as an active package with one executable, two libraries, and roughly a thousand GitHub stars, indicating modest but real use among Swift and Apple-platform tooling users.

### How it is used

The canonical workflow is to run `xcdiff` in a directory containing two .xcodeproj files, or to pass two project paths explicitly with `-p1` and `-p2`. The README's main use case is migration to project generation: compare a generated project against the original one and inspect differences in targets, sources, headers, and related project structure.

Beyond the CLI, xcdiff exposes XCDiffCore as a Swift Package Manager dependency. That makes it useful for package-nerd workflows where a team wants project-file comparison inside another migration, review, or CI tool rather than only as terminal output.

### Why package nerds care

Xcode projects are serialized as large property-list-like graphs, so ordinary text diffs are noisy and often misleading. xcdiff matters in its niche because it treats the project file as structured data, which helps teams review generated-project changes without hand-reading unstable .pbxproj ordering and identifiers.

### Timeline

- 2019-10-22: Swift Package Index records xcdiff 0.2.0 as the first public release.
- 2021-01-22: xcdiff 0.6.0 adds additional comparators, including Swift Package and project attributes.
- 2025-09-08: GitHub releases list xcdiff 0.14.0 as a current release.

### Related projects

- XcodeGen and Tuist are named by the README as project-generation tools whose output can be checked with xcdiff.
- Tuist's XcodeProj library is credited by xcdiff and provides the underlying Xcode project modeling used in the wider Swift tooling ecosystem.

### Sources

- <https://github.com/bloomberg/xcdiff#readme>
- <https://github.com/bloomberg/xcdiff/releases>
- <https://swiftpackageindex.com/bloomberg/xcdiff>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** xcdiff
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Requirements:** macos
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [colordiff](https://www.automicvault.com/pkg/brew/colordiff/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diff-so-fancy](https://www.automicvault.com/pkg/brew/diff-so-fancy/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diffnav](https://www.automicvault.com/pkg/brew/diffnav/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diffoci](https://www.automicvault.com/pkg/brew/diffoci/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diffoscope](https://www.automicvault.com/pkg/brew/diffoscope/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diffr](https://www.automicvault.com/pkg/brew/diffr/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [diffstat](https://www.automicvault.com/pkg/brew/diffstat/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [difftastic](https://www.automicvault.com/pkg/brew/difftastic/) - Shares av.db curated category or tags: cli, developer-tools, diff.
- [xcodegen](https://www.automicvault.com/pkg/brew/xcodegen/) - Local package facts share a topical domain. Shared terms: apple, apple-development, cli, developer, developer-tools.
- [xcbeautify](https://www.automicvault.com/pkg/brew/xcbeautify/) - Local package facts share a topical domain. Shared terms: apple, apple-development, cli, developer, developer-tools.
- [xcenv](https://www.automicvault.com/pkg/brew/xcenv/) - Local package facts share a topical domain. Shared terms: apple, apple-development, cli, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/xcdiff.yml](https://github.com/automic-vault/db/blob/main/combined/xcdiff.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- cross-ecosystem install command graph
