# Install i2c-tools with Homebrew, apk, apt, dnf, Nix, pacman, zypper

Heterogeneous set of I2C tools for Linux. Version 4.4 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:i2c-tools
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install i2c-tools
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add i2c-tools
```

  Evidence: Alpine Linux edge package indexes: i2c-tools from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install i2c-tools
```

  Evidence: Debian stable package indexes: i2c-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install i2c-tools
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#i2c-tools
```

  Evidence: nixpkgs package indexes: pkgs/by-name/i2/i2c-tools/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S i2c-tools
```

  Evidence: Arch Linux sync databases: i2c-tools from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install i2c-tools
```

  Evidence: openSUSE Tumbleweed package metadata: i2c-tools from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:i2c-tools
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/i2c-tools>
- **Version:** 4.4
- **Source summary:** Heterogeneous set of I2C tools for Linux
- **Homepage:** <https://i2c.wiki.kernel.org/index.php/I2C_Tools>
- **Repository:** <https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git>
- **Upstream docs:** <https://i2c.wiki.kernel.org/index.php/I2C_Tools>
- **License:** GPL-2.0-or-later AND LGPL-2.1-or-later
- **Source archive:** <https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/i2c-tools-4.4.tar.xz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- ddcmon (cli)
- decode-dimms (cli)
- decode-edid (cli)
- decode-vaio (cli)
- eeprog (cli)
- i2c-stub-from-dump (cli)
- i2cdetect (cli)
- i2cdump (cli)
- i2cget (cli)
- i2cset (cli)
- i2ctransfer (cli)
- ddcmon (alias)
- decode-dimms (alias)
- decode-edid (alias)
- decode-vaio (alias)
- eeprog (alias)
- i2c-stub-from-dump (alias)
- i2cdetect (alias)
- i2cdump (alias)
- i2cget (alias)
- i2cset (alias)
- i2ctransfer (alias)

## Build dependencies

- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 4.4
- Local data: ok
- Upstream repository: https://i2c.wiki.kernel.org/index.php/I2C_Tools
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

i2c-tools is the standard user-space toolbox for Linux I2C and SMBus work. It contains probing, dump, get, set, transfer, EEPROM, DIMM, and library pieces used by hardware bring-up engineers, Linux distribution packagers, and anyone debugging devices exposed through the kernel i2c-dev interface.

### Project history

The Linux i2c wiki and project README both state that i2c-tools was originally part of lm-sensors and was split into a separate package because not all hardware-monitoring chips are I2C devices and not all I2C devices are hardware monitors. That split gave generic I2C and SMBus utilities their own release stream and repository.

The 3.0.0 line started as an independent release in 2007. The 4.0 release in 2017 added libi2c, i2ctransfer, Python 3 support for py-smbus, many decode-dimms improvements, and refreshed licensing notes. Later 4.x releases continued to modernize bus listing, block reads, DDR memory decoding, build behavior, and command help.

### Adoption history

Because Linux exposes many I2C adapters through /dev/i2c-* and because board peripherals often need low-level checks before drivers are stable, i2c-tools became a routine package in embedded Linux, server hardware, laptop diagnostics, display data decoding, and sensor work. It is carried across major Linux package ecosystems and Homebrew for Linux.

The package's adoption is practical rather than fashionable: i2cdetect, i2cdump, i2cget, i2cset, and i2ctransfer are frequently the quickest way to discover bus topology, verify register behavior, or reproduce a hardware issue outside a custom program.

### How it is used

The core tools operate on Linux I2C buses and SMBus transactions, usually requiring the i2c-dev kernel driver and appropriate permissions. decode-dimms and decode-edid turn EEPROM data into readable hardware information, while i2ctransfer supports custom message sequences in one transfer.

The project README also documents libi2c for C and C++ access over i2c-dev, py-smbus as an optional Python wrapper, and build-time control over static and dynamic library variants.

### Why package nerds care

i2c-tools is a classic distribution package: small, close to the kernel, dangerous if misused, and indispensable when you need it. Its source lives under kernel.org, its bug and patch flow points to linux-i2c, and its release tarballs are signed and mirrored from kernel infrastructure.

For package maintainers, it is interesting because it combines command-line utilities, scripts, library headers, optional language bindings, manpages, Linux-only requirements, and architecture-neutral hardware workflows in a compact source tree.

### Timeline

- 2007: i2c-tools 3.0.0 was released as an independent package.
- 2011: i2c-tools 3.1.0 added more SMBus and DIMM decoding work.
- 2017: i2c-tools 4.0 added libi2c and i2ctransfer.
- 2020: i2c-tools 4.2 added a libi2c manual page and DDR5-related decode-dimms work.
- 2024: i2c-tools 4.4 added getopt-based help improvements and py-smbus packaging updates.

### Related projects

- Related projects include the Linux kernel i2c subsystem, lm-sensors, i2c-dev, py-smbus, JEDEC SPD decoding work, and user-space tools such as ddcutil that also depend on low-level bus access.

### Sources

- <https://formulae.brew.sh/formula/i2c-tools>
- <https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git/plain/CHANGES>
- <https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git/plain/README>
- <https://i2c.wiki.kernel.org/index.php/I2C_Tools>


## 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:** i2c-tools
- **Version Scheme:** 0
- **Revision:** 0
- **Requirements:** linux
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - i2c-tools - 4.4-2: normalized package name match | Debian stable package indexes: i2c-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | heterogeneous set of I2C tools for Linux | https://www.kernel.org/pub/software/utils/i2c-tools/
- Debian apt - libi2c-dev - 4.4-2: normalized package name match | Debian stable package indexes: libi2c-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | userspace I2C programming library development files | https://www.kernel.org/pub/software/utils/i2c-tools/
- Debian apt - libi2c0 - 4.4-2: normalized package name match | Debian stable package indexes: libi2c0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | userspace I2C programming library | https://www.kernel.org/pub/software/utils/i2c-tools/
- Debian apt - python3-smbus - 4.4-2: normalized package name match | Debian stable package indexes: python3-smbus from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Python 3 bindings for Linux SMBus access through i2c-dev | https://www.kernel.org/pub/software/utils/i2c-tools/
- Nix - i2c-tools: normalized package name match | nixpkgs package indexes: pkgs/by-name/i2/i2c-tools/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - i2c-tools - 4.3-4build2: normalized package name match | Ubuntu 24.04 LTS package indexes: i2c-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | heterogeneous set of I2C tools for Linux | https://www.kernel.org/pub/software/utils/i2c-tools/
- Ubuntu apt - libi2c-dev - 4.3-4build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libi2c-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | userspace I2C programming library development files | https://www.kernel.org/pub/software/utils/i2c-tools/
- Ubuntu apt - libi2c0 - 4.3-4build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libi2c0 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | userspace I2C programming library | https://www.kernel.org/pub/software/utils/i2c-tools/
- Ubuntu apt - python3-smbus - 4.3-4build2: normalized package name match | Ubuntu 24.04 LTS package indexes: python3-smbus from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Python 3 bindings for Linux SMBus access through i2c-dev | https://www.kernel.org/pub/software/utils/i2c-tools/
- apk - i2c-tools - 4.4-r3: normalized package name match | Alpine Linux edge package indexes: i2c-tools from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Tools for monitoring I2C devices | https://i2c.wiki.kernel.org/index.php/I2C_Tools
- apk - i2c-tools-dev - 4.4-r3: normalized package name match | Alpine Linux edge package indexes: i2c-tools-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Tools for monitoring I2C devices (development files) | https://i2c.wiki.kernel.org/index.php/I2C_Tools
- apk - i2c-tools-doc - 4.4-r3: normalized package name match | Alpine Linux edge package indexes: i2c-tools-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Tools for monitoring I2C devices (documentation) | https://i2c.wiki.kernel.org/index.php/I2C_Tools
- apk - py3-smbus - 4.4-r3: normalized package name match | Alpine Linux edge package indexes: py3-smbus from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | i2c-tools python bindings | https://i2c.wiki.kernel.org/index.php/I2C_Tools
- dnf - i2c-tools - 4.4-5.fc45: normalized package name match | Fedora Rawhide package metadata: i2c-tools from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A heterogeneous set of I2C tools for Linux | https://i2c.wiki.kernel.org/index.php/I2C_Tools
- dnf - i2c-tools-perl - 4.4-5.fc45: normalized package name match | Fedora Rawhide package metadata: i2c-tools-perl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | i2c tools written in Perl | https://i2c.wiki.kernel.org/index.php/I2C_Tools
- dnf - libi2c - 4.4-5.fc45: normalized package name match | Fedora Rawhide package metadata: libi2c from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | I2C/SMBus bus access library | https://i2c.wiki.kernel.org/index.php/I2C_Tools


## Related links

- [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.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Build dependency declared by Homebrew.
- [ddcutil](https://www.automicvault.com/pkg/brew/ddcutil/) - Popular package that depends on this formula.
- [nextpnr-ice40](https://www.automicvault.com/pkg/brew/nextpnr-ice40/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [openfpgaloader](https://www.automicvault.com/pkg/brew/openfpgaloader/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [sigrok-cli](https://www.automicvault.com/pkg/brew/sigrok-cli/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [icestorm](https://www.automicvault.com/pkg/brew/icestorm/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [prjtrellis](https://www.automicvault.com/pkg/brew/prjtrellis/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [rggen](https://www.automicvault.com/pkg/brew/rggen/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [verilator](https://www.automicvault.com/pkg/brew/verilator/) - Shares av.db curated category or tags: cli, developer-tools, hardware.
- [dtc](https://www.automicvault.com/pkg/brew/dtc/) - Shares av.db curated category or tags: cli, developer-tools, linux.

## Combined YAML source

View the package source record on GitHub. [combined/i2c-tools.yml](https://github.com/automic-vault/db/blob/main/combined/i2c-tools.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
- external package-manager database matches
- cross-ecosystem install command graph
