Skip to content
100% local

Stack trace formatter

Clean up and re-indent a pasted stack trace so the frames that matter stand out.

Input
Output

Stack trace formatter

Paste a raw stack trace — copied from a terminal, a log aggregator, or a crash report — and this tool re-indents it so the frames that actually matter are easy to find. It works with Java, JavaScript and Node.js, Python, C#, Go and Ruby traces, and can auto-detect which convention it's looking at from the frame shapes alone, no language picker required.

Turn on Collapse vendor frames to fold consecutive framework and library frames — anything under node_modules, java.base, site-packages and similar paths — into a single line, or switch on Keep only my frames to drop them entirely. Your source path lets you name the folders or packages that are actually yours, such as src/ or com/myapp, overriding the built-in vendor list. Number frames adds a running count, Shorten class names trims a fully qualified class down to its last two segments, and Show summary line prints the exception type, its message and the first frame in your own code above the reformatted trace.

A trace that arrived mangled onto a single line — pasted from a JSON log field with literal \n escapes instead of real line breaks — is unwrapped automatically before formatting, and a chain of "Caused by" exceptions is rendered as an indented tree instead of a flat wall of text. Windows and Unix line endings are both handled, and the tally under the output reports how many frames went in, how many are shown and how many were folded away.

Formatting happens entirely in your browser — the trace never leaves your device, which matters when it might contain internal file paths or class names. Copy the cleaned-up result, download it as a .txt file, or send it straight back into the input to adjust the options and reformat again.

FAQ

Which languages does it support?
Java, JavaScript and Node.js, Python, C#, Go and Ruby, plus an auto-detect mode that picks the right convention from the frame shapes in your trace.
What counts as a 'vendor' frame?
By default, anything matching a known framework or dependency path — node_modules, java.base, site-packages and similar. Set Your source path to name your own folders or packages instead, and everything else is treated as vendor.
Does it work on a trace pasted as one line?
Yes. If the trace arrives with literal \n characters instead of real line breaks — common when copying it out of a JSON log field — it's unwrapped automatically before formatting.
Is my stack trace uploaded anywhere?
No. Formatting runs entirely in your browser, so file paths, class names and any other details in the trace never leave your device.