# Install jd with Homebrew, dnf, MacPorts, scoop, winget

JSON diff and patch. Version 2.5.0 via Homebrew; verified 2026-07-25. Also installable with dnf: sudo dnf install jd.

## Install

```sh
sudo av install brew:jd
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install jd
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install jd
```

  Evidence: MacPorts ports tree: textproc/jd/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- dnf (92%):

```sh
sudo dnf install jd
```

  Evidence: Fedora Rawhide package metadata: jd from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install extras/jd
```

  Evidence: Scoop official bucket manifest trees: bucket/jd.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id josephburnett.jd -e
```

  Evidence: Windows Package Manager source index: josephburnett.jd from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:jd
- **Package manager:** Homebrew
- **Version:** 2.5.0
- **Source summary:** JSON diff and patch
- **Homepage:** <https://github.com/josephburnett/jd>
- **Repository:** <https://github.com/josephburnett/jd>
- **Last updated:** 2026-07-25T20:58:04-04:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- jd (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.5.0
## Project history and usage

jd is a command-line utility and Go library for diffing and patching JSON and YAML values. Its README describes a native jd diff format, JSON Merge Patch support from RFC 7386, and partial JSON Patch support from RFC 6902.

### Project history

The public repository was created in 2016 and its tag history begins with v1.0-era releases before moving through a v2 series. The README says the v2 library replaced the v1 library, adding diff context, minimal array diffs, and hunk-level metadata.

### Adoption history

jd is packaged by Homebrew, Fedora, MacPorts, Scoop, and winget metadata in the input. The README also documents installation through Homebrew, mise, go install, downloaded release binaries, Docker, a GitHub Action, and a local or hosted WebAssembly-based UI.

### How it is used

The CLI compares two JSON files, reads a second value from standard input when omitted, applies patches with -p, writes output with -o, handles set and multiset array semantics, translates formats, and can read or write YAML. Its examples show using a generated diff as a patch file.

### Why package nerds care

jd fills the gap left by line-oriented diff when structured JSON changes need to be reviewed, patched, or normalized. Package nerds care because it makes JSON changes scriptable while preserving concepts familiar from Unix diff and patch.

### Timeline

- 2016: The jd repository was created and v1.0-era tags began.
- 2020: v1.3.0 appeared in the tag stream under both release-1.3.0 and v1.3.0 names.
- 2022: v2.0.0 began the v2 line.
- 2024: v2.4.0 appeared in the tag stream.
- 2025: v2.5.0 added targeted comparison options and path-isolated diff semantics.

### Related projects

- Related standards and tools include Unix diff and patch, JSON Merge Patch RFC 7386, JSON Patch RFC 6902, YAML tooling, Go package distribution, GitHub Actions, and the jd WebAssembly UI.

### Sources

- <https://formulae.brew.sh/formula/jd>
- <https://github.com/josephburnett/jd>
- <https://github.com/josephburnett/jd/blob/master/README.md>
- <https://github.com/josephburnett/jd/releases>
- <https://pkg.go.dev/github.com/josephburnett/jd>


## Security Notes

narrow executable package without higher-risk signals.

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

## Other Package-Manager Records

- dnf - jd - 0.17.0-2.fc45: normalized package name match | Fedora Rawhide package metadata: jd from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | A 2ch browser | https://github.com/JDimproved/JDim
- MacPorts - jd: normalized package name match | MacPorts ports tree: textproc/jd/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - extras/jd: normalized package name match | Scoop official bucket manifest trees: bucket/jd.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1
- winget - josephburnett.jd: normalized package name match | Windows Package Manager source index: josephburnett.jd from https://cdn.winget.microsoft.com/cache/source.msix


## Combined YAML source

View the package source record on GitHub. [combined/jd.yml](https://github.com/mxcl/pkgdb/blob/main/combined/jd.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
