Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Static Analysis & Code Quality
  3. bloaty

bloaty

Apache-2.0C++v1.1

Bloaty is a size profiler for binaries that analyzes what's taking up space inside executable files.

GitHubGitHub
5.5k stars376 forks0 contributors

What is bloaty?

Bloaty is a specialized size profiler for binary files that analyzes what contributes to an executable's footprint. It uses custom parsers for formats like ELF, Mach-O, PE/COFF, and WebAssembly to accurately attribute every byte to its source, such as compile units or symbols. This helps developers understand and optimize binary size.

Target Audience

Bloaty is designed for developers, software engineers, and build system maintainers working on performance-critical or resource-constrained applications, such as embedded systems, mobile apps, or large-scale server software, who need to analyze and reduce binary size.

Value Proposition

Developers choose Bloaty for its deep, accurate analysis using custom binary parsers, which provides detailed size attribution beyond basic tools. Its unique selling points include hierarchical profiling, size diffing for CI/CD, support for stripped binaries with separate debug files, and a statically-linked binary for easy deployment.

Overview

Bloaty: a size profiler for binaries

Use Cases

Best For

  • Analyzing binary size growth between versions in CI/CD pipelines to identify regressions.
  • Profiling stripped binaries using external debug data to maintain security while debugging size issues.
  • Understanding the contribution of specific compile units or symbols to an executable's footprint in large C++ projects.
  • Comparing size profiles across different binary formats like ELF, Mach-O, or WebAssembly for cross-platform development.
  • Filtering and bucketing binary sections with regex patterns for custom analysis workflows.
  • Optimizing binary size for embedded systems or mobile applications where memory constraints are critical.

Not Ideal For

  • Projects relying heavily on PE/COFF or WebAssembly binaries, as Bloaty's support for these formats is experimental and may be unreliable.
  • Teams that prefer graphical tools for interactive data visualization and exploration, since Bloaty is exclusively a command-line utility.
  • Developers needing quick, rough size estimates for small binaries; Bloaty's detailed parsing can be overkill and slower than simpler tools like 'size' or 'ls'.

Pros & Cons

Pros

Deep Custom Parsers

Uses bespoke ELF, DWARF, and Mach-O parsers to accurately attribute every byte, providing more precise size analysis than standard tools like 'objdump' or 'nm'.

Hierarchical Size Reports

Combines multiple data sources such as compileunit and symbol into a single profile, offering a comprehensive view of binary composition for in-depth optimization.

CI-Friendly Size Diffs

Compares binary versions to pinpoint growth, ideal for integrating into CI/CD pipelines to catch and prevent size regressions, as highlighted in the README for automated testing.

Stripped Binary Analysis

Supports analyzing stripped executables using separate debug files, allowing security-hardened binaries to still be profiled without embedding debug info, a key feature for production environments.

Flexible Regex Customization

Allows regex-based filtering and rewriting of data sources, enabling tailored analysis workflows, such as bucketing by custom patterns, as documented in the user guide.

Cons

Experimental Format Support

PE/COFF and WebAssembly analysis is marked experimental in the README, indicating incomplete or potentially buggy functionality that may not be suitable for production use.

Complex Dependency Management

Requires managing Git submodules and dependencies like protobuf, which complicates the build process, especially in environments without these libraries pre-installed.

No Graphical Interface

As a command-line-only tool, it lacks a GUI, hindering users who prefer visual tools for exploring and interpreting binary size data interactively.

Performance Intensive

Deep disassembly and parsing can be resource-heavy, making analysis slower for very large binaries compared to surface-level tools, which might not be ideal for frequent, quick checks.

Frequently Asked Questions

Quick Stats

Stars5,515
Forks376
Contributors0
Open Issues52
Last commit1 month ago
CreatedSince 2016

Tags

#webassembly#performance-optimization#c-plus-plus#binary-analysis#elf#mach-o#debugging#static-analysis

Built With

c
capstone
R
Re2
N
Ninja
C
CMake
p
pkg-config
C
C++

Included in

Static Analysis & Code Quality14.5k
Auto-fetched 6 hours ago

Related Projects

GitleaksGitleaks

Find secrets with Gitleaks 🔑

Stars28,284
Forks2,158
Last commit1 day ago
GrypeGrype

A vulnerability scanner for container images and filesystems

Stars12,629
Forks836
Last commit19 hours ago
Haskell Dockerfile LinterHaskell Dockerfile Linter

Dockerfile linter, validate inline bash, written in Haskell

Stars12,319
Forks498
Last commit2 days ago
clairclair

Vulnerability Static Analysis for Containers

Stars11,030
Forks1,216
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub