| # Converting from Perfetto to other trace formats | |
| Perfetto's native protobuf trace format can be converted to other formats using | |
| the `traceconv` utility. | |
|  | |
| ## Prerequisites | |
| - A host running Linux or MacOS | |
| - A Perfetto protobuf trace file | |
| The supported output formats are: | |
| - `text` - protobuf text format: a text based representation of protos | |
| - `json` - Chrome JSON format: the format used by chrome://tracing | |
| - `systrace`: the ftrace text format used by Android systrace | |
| - `profile` : aggregated profile in the [pprof](https://github.com/google/pprof) | |
| format. Supports allocator profiles (heapprofd), perf profiles, and android | |
| java heap graphs. | |
| ## Usage | |
| To use the latest binaries: | |
| ```bash | |
| curl -LO https://get.perfetto.dev/traceconv | |
| chmod +x traceconv | |
| ./traceconv [text|json|systrace|profile] [input proto file] [output file] | |
| ``` | |
| For versioned downloads, replace `<tag>` with the required git tag: | |
| ```bash | |
| curl -LO https://raw.githubusercontent.com/google/perfetto/<tag>/tools/traceconv | |
| chmod +x traceconv | |
| ./traceconv [text|json|systrace|profile] [input proto file] [output file] | |
| ``` | |
| ## Opening in the legacy systrace UI | |
| If you just want to open a Perfetto trace with the legacy (Catapult) trace | |
| viewer, you can just navigate to [ui.perfetto.dev](https://ui.perfetto.dev), and | |
| use the _"Open with legacy UI"_ link. This runs `traceconv` within the browser | |
| using WebAssembly and passes the converted trace seamlessly to chrome://tracing. |