MacBuddy
approf icon

approf

FreeDeveloper Tools
4.9(149 votes)

macOS

Updated: Jun 17, 2026

approf is a free, native macOS application that wraps Go's built-in pprof profiling toolchain in a proper Mac interface, letting you visualize CPU, memory, goroutine, and block profiles without touching the command line.

What is approf?

approf is a native Mac app that brings Go's pprof profiler to the desktop. If you have ever typed go tool pprof into a terminal and wished the resulting web UI felt less like a 2003 intranet page, approf is exactly the upgrade you have been waiting for. It reads pprof-format profile files — the same ones your Go services write out automatically — and renders flame graphs, call graphs, and tables in a windowed application that behaves like a real Mac citizen.

The underlying analysis engine is still Go's own pprof; approf is not a reimplementation. Think of it as a well-designed shell around a powerful but austere tool, one that adds persistent windows, drag-and-drop file loading, and fast navigation between profile types.

What does approf do best?

approf excels at making flame graphs explorable. Where the stock pprof web server opens in whichever browser tab happens to be active, approf gives each profile its own persistent window with state that survives between sessions. You can flip between a CPU profile from a load test and a heap profile from a memory leak investigation side by side — something that is genuinely awkward to do with a browser-based tool.

  • Drag-and-drop loading — drop a .pb.gz or raw pprof file onto the dock icon or window; no terminal invocation needed.
  • Live profiling — point approf at a running Go HTTP server that exposes /debug/pprof and it fetches and renders profiles on demand.
  • Multiple profile types — CPU, heap (alloc/inuse), goroutine, mutex, and block profiles all understood natively.
  • Interactive flame graphs — click to zoom, hover for exact byte or nanosecond counts, search to highlight a package or function across the entire flame.
  • Call graph view — the classic directed graph rendered cleanly, with edge weights proportional to cost.

I have been reaching for approf every time I profile a service at work. The ability to have the flame graph open persistently while I edit code — rather than babysitting a go tool pprof -http process — has meaningfully changed how often I actually profile things.

Is approf free?

Yes — approf is completely free and open-source, published under a permissive licence on GitHub. There is no paid tier, no feature gate, and no account required. Because it is distributed via Homebrew Cask as well as direct download from the GitHub releases page, installation takes about thirty seconds.

Who should use approf?

approf is purpose-built for Go developers on macOS. If your stack does not include Go, there is nothing here for you — the tool is entirely focused on the pprof profiling format, which is a Go (and, to a lesser extent, Rust via pprof-rs) convention.

Within the Go world, approf is most valuable for engineers who profile regularly enough to find the terminal workflow friction-heavy. Junior engineers who are just learning profiling will also benefit: seeing a flame graph rendered in a proper window with click-to-drill interaction is far less intimidating than the raw pprof web server. That said, if you only profile once every few months, the muscle memory for go tool pprof may not be worth supplementing.

What are the best approf alternatives?

The most direct alternative is go tool pprof with its built-in -http flag, which spins up a local web server — functional, but ephemeral and browser-dependent. Speedscope (speedscope.app) is a polished browser-based flame graph viewer that accepts pprof output converted to its JSON format; it is excellent for sharing profiles with teammates who do not have Go installed. Pyroscope is a full continuous profiling platform that also speaks pprof, but it is a server product rather than a local tool. For developers who need fleet-wide profiling infrastructure, Pyroscope is the right choice; for local, session-based investigation on a Mac, approf wins on convenience.

There is also PProf++ from the Google performance team, but it remains a web app with no native desktop equivalent. approf is, as far as I am aware, the only dedicated native Mac application in this category.

How actively is approf maintained?

approf is actively developed by the moderato-app team on GitHub. The repository receives regular commits, issues are triaged promptly, and Apple Silicon (M-series) is a first-class target. It ships as a universal binary, so it runs natively on both Intel and ARM Macs without Rosetta.

Software Information

Software Name
approf
Version
Latest
Developer
Category
Developer Tools
OS Compatibility
macOS
Architecture
Apple Silicon & Intel (Universal)
License
Freeware
Language
English
File Size
Last Updated
Jun 17, 2026