# Install bloaty with Homebrew, apk, dnf, MacPorts, Nix, pacman

Size profiler for binaries. Version 1.1 via Homebrew; verified 2026-06-20.

## Install

```sh
sudo av install brew:bloaty
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install bloaty
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install bloaty
```

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

### Linux

- apk (92%):

```sh
sudo apk add bloaty
```

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

- dnf (92%):

```sh
sudo dnf install bloaty
```

  Evidence: Fedora Rawhide package metadata: bloaty 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#bloaty
```

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

- pacman (92%):

```sh
sudo pacman -S bloaty
```

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

## Package facts

- **Package key:** brew:bloaty
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/bloaty>
- **Version:** 1.1
- **Source summary:** Size profiler for binaries
- **Homepage:** <https://github.com/google/bloaty>
- **Repository:** <https://github.com/google/bloaty>
- **Upstream docs:** <https://github.com/google/bloaty/blob/main/doc/how-bloaty-works.md>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/google/bloaty/releases/download/v1.1/bloaty-1.1.tar.bz2>
- **Last updated:** 2026-06-20T05:07:42Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- bloaty (cli)
- bloaty (alias)

## Dependencies

- abseil
- capstone
- protobuf
- re2

## Build dependencies

- cmake
- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.1
- Package-manager updated: 2026-06-20
- Local data: ok
- Upstream repository: https://github.com/google/bloaty
- info: No cached GitHub release or tag data was available.
## Project history and usage

Bloaty, formally styled in its help text as Bloaty McBloatface, is Google's open source size profiler for binaries. It became a familiar package-manager utility for engineers who care about what actually makes an executable, library, firmware image, or WebAssembly artifact large.

### Project history

The official repository was created in 2016 and describes Bloaty as a size profiler for binaries. Its README frames the core question directly: finding what makes a binary big by showing size profiles across file size and virtual-memory size.

Bloaty's implementation is unusually deep for a size-reporting CLI. The README and internals documentation describe custom ELF, DWARF, and Mach-O parsing, experimental PE/COFF and WebAssembly support, disassembly-assisted attribution, hierarchical profiles, size diffs, demangling, separate debug files, and custom data sources.

The project reached Bloaty McBloatface v1.0 in August 2018 and v1.1 in May 2020. Its README also notes that it is not an official Google product, a common marker for Google-hosted open source tools that are useful outside their original internal context.

### Adoption history

Bloaty's adoption followed the path of a specialist but widely useful developer tool: first-party docs and releases on GitHub, then packaging across major developer distributions. The input metadata records packages in Alpine apk, Homebrew, Fedora dnf, MacPorts, Nix, and Arch/pacman.

Its cross-platform binary-format support helped adoption outside one operating-system niche. Engineers working on native applications, toolchains, mobile code, embedded binaries, and Wasm can all use the same CLI vocabulary to ask where bytes went.

### How it is used

The basic workflow is `bloaty FILE`, optionally with `-d` data sources such as sections, symbols, segments, or compile units. Bloaty reports both file size and VM size because debug data, zero-initialized data, mapped segments, and metadata can affect disk and runtime footprints differently.

A second major workflow is size diffing: users pass a current binary and a base binary separated by `--` to see exactly which sections, symbols, compile units, or other sources grew or shrank. That makes Bloaty especially attractive for release engineering and CI checks where size regressions need blameable output.

### Why package nerds care

Bloaty is package-nerd catnip because it explains package bloat with evidence instead of vibes. It bridges low-level object-file knowledge and everyday package maintenance by making debug sections, symbol tables, compile units, `.text`, `.rodata`, Mach-O load commands, and ELF program headers visible in a table humans can act on.

The tool is also a useful counterweight to vague binary-size debates. Package maintainers can compare stripped and unstripped builds, bundled dependencies, LTO changes, debug-info packaging, static-linking choices, and architecture-specific output using one reproducible CLI.

Compared with traditional tools such as `size`, `nm`, `objdump`, `readelf`, or linker map files, Bloaty packages several views into one profiler and preserves totals so the reported rows account for the whole file. That makes it unusually practical for maintainers who need to decide whether a size increase belongs in code, debug metadata, linked libraries, compiler output, or packaging policy.

### Timeline

- 2016: Official Google-hosted Bloaty repository created.
- 2018: Bloaty McBloatface v1.0 released.
- 2020: Bloaty McBloatface v1.1 released.
- Package era: Bloaty appears across apk, Homebrew, dnf, MacPorts, Nix, and pacman according to package metadata.

### Related projects

- `size`, `nm`, `objdump`, `readelf`, linker map files, and platform object-file tools are the traditional neighbors Bloaty complements.
- ELF, DWARF, Mach-O, PE/COFF, and WebAssembly are the binary/debug formats named by Bloaty's official docs.
- Bloaty bundles or can use dependencies including protobuf, RE2, Capstone, and pkg-config according to its README.

### Sources

- GitHub repository metadata via gh api repos/google/bloaty
- <https://github.com/google/bloaty#readme>
- <https://github.com/google/bloaty/blob/main/doc/how-bloaty-works.md>
- <https://github.com/google/bloaty/blob/main/doc/using.md>
- <https://github.com/google/bloaty/releases>
- source_facts.package-manager


## 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:** bloaty
- **Version Scheme:** 0
- **Revision:** 50
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - bloaty: normalized package name match | nixpkgs package indexes: pkgs/by-name/bl/bloaty/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - bloaty - 1.1-r31: normalized package name match | Alpine Linux edge package indexes: bloaty from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bloaty McBloatface: a size profiler for binaries | https://github.com/google/bloaty
- dnf - bloaty - 1.1-51.fc45: normalized package name match | Fedora Rawhide package metadata: bloaty from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A size profiler for binaries | https://github.com/google/bloaty
- pacman - bloaty - 1.1-24: normalized package name match | Arch Linux sync databases: bloaty from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Size profiler for binaries | https://github.com/google/bloaty
- MacPorts - bloaty: normalized package name match | MacPorts ports tree: devel/bloaty/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## 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.
- [capstone](https://www.automicvault.com/pkg/brew/capstone/) - Runtime dependency declared by Homebrew.
- [protobuf](https://www.automicvault.com/pkg/brew/protobuf/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [alp](https://www.automicvault.com/pkg/brew/alp/) - Shares av.db curated category or tags: cli, developer-tools, profiler.
- [async-profiler](https://www.automicvault.com/pkg/brew/async-profiler/) - Shares av.db curated category or tags: cli, developer-tools, profiler.
- [austin](https://www.automicvault.com/pkg/brew/austin/) - Shares av.db curated category or tags: cli, developer-tools, profiler.
- [cargo-bloat](https://www.automicvault.com/pkg/brew/cargo-bloat/) - Shares av.db curated category or tags: binary-size, cli, developer-tools.
- [py-spy](https://www.automicvault.com/pkg/brew/py-spy/) - Shares av.db curated category or tags: cli, developer-tools, profiler.
- [samply](https://www.automicvault.com/pkg/brew/samply/) - Shares av.db curated category or tags: cli, developer-tools, profiler.
- [sysprof](https://www.automicvault.com/pkg/brew/sysprof/) - Shares av.db curated category or tags: cli, developer-tools, profiler.
- [tracy](https://www.automicvault.com/pkg/brew/tracy/) - Shares av.db curated category or tags: cli, developer-tools, profiler.
- [elfx86exts](https://www.automicvault.com/pkg/brew/elfx86exts/) - Local package facts share a topical domain. Shared terms: binaries, binary, capstone, cli, developer.
- [protobuf-c](https://www.automicvault.com/pkg/brew/protobuf-c/) - Local package facts share a topical domain. Shared terms: abseil, cli, developer, developer-tools, protobuf.

## Combined YAML source

View the package source record on GitHub. [combined/bloaty.yml](https://github.com/automic-vault/db/blob/main/combined/bloaty.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
