Performance Trace Explorer

Visualize Chrome DevTools trace files as a Gantt timeline. Spot Long Tasks, main thread bottlenecks, and scripting costs at a glance — 100% local.

Drop your Chrome DevTools trace file here

Go to Chrome DevTools → Performance tab → Record → Stop → click the ⬇ Download icon

Accepts .json files. All processing is 100% local — your data never leaves the browser.

Using demo data — upload your own trace for real analysis

Total Duration
283.0 ms
Long Tasks
6
≥ 50ms each
Events Parsed
13
Blocked Time
707 ms

Gantt Timeline by Thread

Thread 1
11 events · 490ms
Thread 3
2 events · 390ms
0ms
71ms
142ms
212ms
283ms
task
v8
blink
gc
devtools.timeline
Long Task (>50ms)

Long Tasks ≥50ms6

RunTask
task · tid 3
200.0ms
@10ms
StreamingCompile
v8 · tid 3
190.0ms
@15ms
RunTask
task · tid 1
120.0ms
@0ms
RunTask
task · tid 1
85.0ms
@135ms
FunctionCall
devtools.timeline · tid 1
60.0ms
@140ms

Top 10 Longest Events

RunTask200.0ms
StreamingCompile190.0ms
RunTask120.0ms
RunTask85.0ms
FunctionCall60.0ms
RunTask52.0ms
GC48.0ms
ParseHTML40.0ms
EvaluateScript35.0ms
Layout25.0ms

Understanding Web Performance Traces

Chrome DevTools Performance traces are JSON files that record every task the browser's main thread and worker threads executed during a recording session. Each event has a timestamp (ts), a duration (dur), a category (cat), and a phase (ph). While Chrome's built-in Performance panel is powerful, it can be overwhelming for developers unfamiliar with flame charts or trace analysis.

The DToolkits Performance Trace Explorer simplifies this by rendering a Gantt-style timeline grouped by thread, immediately surfacing Long Tasks (≥50ms) and showing the top 10 slowest events in a bar chart — giving you actionable bottleneck data in seconds.

What Causes Long Tasks?

  • Large JavaScript bundles — parsing and compiling oversized scripts blocks the main thread
  • Synchronous XHR — legacy synchronous network requests freeze the UI completely
  • Expensive reflows — reading layout properties (e.g. offsetHeight) inside loops forces multiple layout passes
  • Unoptimized event handlers — scroll, resize, or input handlers without debouncing
  • Main-thread garbage collection — large object allocations trigger expensive GC pauses

Performance Tracing FAQs

Open Chrome DevTools (F12), go to the Performance tab, click the Record button (or press Ctrl+Shift+E), interact with your page, then click Stop. After profiling, click the Download ⬇ icon in the Performance panel toolbar to save the trace as a .json file.

A Long Task is any main-thread task that takes more than 50 milliseconds to complete. Long Tasks block the browser's event loop, preventing it from responding to user input. They directly harm Interaction to Next Paint (INP) and First Input Delay (FID) — two Core Web Vitals scores that affect Google Search ranking.

The Gantt timeline displays every parsed trace event grouped by thread ID (tid). Each colored bar represents a single event, and its width is proportional to how long it took. Hovering over a bar shows the event name, category, and exact duration. Events highlighted with a red ring are Long Tasks (≥50ms).

No. The .json file is parsed entirely in your browser using the FileReader API and JavaScript. Your potentially sensitive performance data — including URL structures and timing signatures — never leaves your machine.

The tool recognizes and color-codes five Chrome trace categories: task (blue), v8 scripting (violet), blink rendering (emerald/green), gc garbage collection (red), and devtools.timeline (amber). Events not matching a known category appear in gray.

Related Performance

All Tools