Bug Days

Java Thread Dump Analyzer

Free · Browser only

Turn a wall of JVM stacks into a diagnosis. Find deadlocks, blocked threads, contended monitors, repeated pool stacks, common frames, and virtual-thread activity without uploading the dump.

Paste or open a thread dump

HotSpot/OpenJDK text, multiple concatenated captures, or modern JDK JSON · up to 20 MB

Pasted text is analyzed automatically. Nothing leaves this browser.

From capture to diagnosis

Capture useful lock data

For platform threads, use jcmd <pid> Thread.print -l or jstack -l <pid>. The lock option adds ownable synchronizers, improving waiter-to-owner analysis.

Compare several moments

For hangs or suspected CPU loops, capture multiple dumps several seconds apart and paste them together. A thread that stays RUNNABLE at the same frame across captures deserves closer investigation.

Modern virtual-thread dumps

JSON output from jcmd <pid> Thread.dump_to_file -format=json file.json preserves thread containers and scales better for large virtual-thread workloads.

What the Java thread states tell you

BLOCKED means a thread is waiting to enter synchronized code. WAITING and TIMED_WAITING commonly describe parked pool workers, sleeps, joins, or condition waits. RUNNABLE is broader than “using CPU”: it can include native work and some I/O. The analyzer keeps these states separate and connects monitor waiters to identifiable lock owners.

Supported thread-dump sources

Use traditional HotSpot or OpenJDK output from jstack, jcmd Thread.print, a kill -3 capture, or several captures concatenated into one file. Modern Thread.dump_to_file -format=json output is also supported for container and virtual-thread inspection.

New to the evidence? Read how to read a Java thread dump and trace a deadlock. Investigating a wider JVM incident? Use the X.509 certificate inspector for TLS material or the DDL schema explorer when a database call in the stack needs context.

This is static evidence analysis, not a profiler. Confirm suspicious patterns with repeated captures, JFR, application metrics, or a profiler.