# Speedscope — Interactive Flame Chart Viewer for Performance Profiles > A fast, web-based viewer for performance profiles that renders flame charts, left-heavy views, and sandwich views from many profiler formats. ## Install Save in your project root: # Speedscope — Interactive Flame Chart Viewer for Performance Profiles ## Quick Use ```bash npm install -g speedscope speedscope profile.json # or open https://www.speedscope.app in a browser and drag-drop a profile ``` ## Introduction Speedscope is a web-based performance profile viewer that renders interactive flame charts. It supports profiles from dozens of tools across many languages, making it a universal viewer for CPU and memory profiling data. It runs entirely in the browser with no server-side processing. ## What Speedscope Does - Renders flame charts, left-heavy (aggregated) views, and sandwich views - Imports profiles from pprof, perf, Chrome DevTools, Instruments, and many more - Provides smooth zooming and panning through large profile datasets - Highlights individual functions across all call stacks (sandwich view) - Runs entirely client-side with no data uploaded to any server ## Architecture Overview Speedscope is built with TypeScript and WebGL for high-performance rendering. Profile data is parsed client-side from various formats into a normalized internal model. The flame chart renderer uses WebGL to draw thousands of rectangles efficiently, enabling smooth interaction even with millions of samples. All processing happens in the browser. ## Self-Hosting & Configuration - Use the hosted version at speedscope.app (no install needed) - Install the CLI globally with `npm install -g speedscope` - Run `speedscope profile.json` to open a profile in your default browser - Self-host by serving the static build output from any web server - Pipe profiler output directly: `py-spy record -o profile.json && speedscope profile.json` ## Key Features - Supports 20+ profile formats across Python, Ruby, Go, Node.js, Java, and native code - WebGL-based rendering handles profiles with millions of samples smoothly - Three complementary views: time-ordered flame chart, left-heavy, and sandwich - No data leaves your machine; all processing is client-side - Keyboard shortcuts for quick navigation and function search ## Comparison with Similar Tools - **Chrome DevTools** — Built into Chrome but limited to Chrome profiles; Speedscope supports many formats - **Perfetto UI** — Powerful trace viewer; Speedscope is lighter and focused on flame charts - **FlameGraph (Brendan Gregg)** — Generates static SVGs; Speedscope provides interactive exploration - **pprof web UI** — Go-specific; Speedscope supports profiles from any language ## FAQ **Q: Is my profile data uploaded anywhere?** A: No. All processing happens in the browser. Your data never leaves your machine. **Q: What profile formats are supported?** A: pprof, Chrome DevTools, Instruments, perf, collapsed stacks, Pyinstrument, VizTracer, and many more. **Q: Can I use it offline?** A: Yes. Install via npm and run locally, or download the static build for fully offline use. **Q: How does the sandwich view work?** A: It shows a selected function in the center, with callers above and callees below, aggregated across all occurrences. ## Sources - https://github.com/jlfwong/speedscope - https://www.speedscope.app/ --- Source: https://tokrepo.com/en/workflows/asset-75a7642f Author: AI Open Source