A stack trace parser converts a raw exception stack trace into structured frames — showing the exact file, function, and line number where each call happened. Supports JavaScript, Python, Java, C#, Ruby, Go, PHP, and Rust. Paste your stack trace below to analyze it.
Paste Stack Trace
Stack Frames
How to Use the Stack Trace Parser
When your application throws an exception, the runtime generates a stack trace — a snapshot of every function call that was active at the moment of failure. Stack traces are invaluable for debugging, but raw traces can be overwhelming: they mix your application code with dozens of framework and library calls. This tool parses any stack trace into structured frames so you can focus on what matters.
Step 1: Paste Your Stack Trace
Copy the error output from your terminal, error log, crash report, or monitoring tool (like Sentry, Datadog, or New Relic) and paste it into the input area. The tool auto-detects the language from the trace format — JavaScript/Node.js, Python, Java, C#/.NET, Ruby, Go, PHP, or Rust. Load an example to see how each language format looks.
Step 2: Read the Summary
The summary panel shows the detected language, total frame count, and how many frames are app code vs. library code. App code frames (shown in blue) are from your project — these are the files you wrote and can fix. Library frames (gray) come from packages and frameworks. Focus on the blue frames first when debugging.
Step 3: Inspect Individual Frames
Each frame shows the frame number (#0 is the innermost — where the exception occurred), the function or method name, the file path, and the line and column numbers. The exception type and message appear in a red banner at the top. Use the "Reverse order" toggle to view frames with the oldest call first instead of newest first.
Step 4: Export as JSON
Use "Copy JSON" to export all frames as structured data. This is useful for logging, sending to a bug tracker, or programmatically processing the stack information. The JSON includes all extracted fields: function name, file, line, column, and frame type (app/library/native).
FAQ
Is this stack trace parser free?
Yes, completely free. Paste any stack trace and parse it instantly — no signup, no account required.
Is my error data safe?
All parsing happens locally in your browser. Your stack traces and error data never leave your device or get sent to any server.
What languages are supported?
The parser auto-detects and handles: JavaScript/Node.js, Python, Java, C#/.NET, Ruby, Go, PHP, and Rust. It recognizes the unique frame format each language uses and extracts file paths, function names, line numbers, and column numbers where available.
What's the difference between app code and library code frames?
App code frames (blue) are from your own codebase — these are the files you wrote and can modify to fix the bug. Library code frames (gray) come from npm packages, pip packages, Java dependencies, or system libraries. The bug almost always originates in an app code frame, even if it manifests in library code.
What is a stack trace?
A stack trace is a report of the active method calls at the moment an exception was thrown. It lists the sequence of function calls that led to the error, from the most recent (top) to the original entry point (bottom). Each line in a stack trace is called a 'frame' and shows the function name and source location.
Can this parse minified JavaScript stack traces?
The parser can extract frame data from minified traces, but file paths will show minified names like 'bundle.js' and line numbers won't correspond to source code. Use source maps to map minified stack traces back to original source locations — tools like sentry.io do this automatically.
What does 'native code' or 'internal' mean in a frame?
Native frames indicate calls into the JavaScript engine's built-in code (like Array.prototype.sort) or Node.js native modules. They're shown in light gray as they're outside your control and rarely the root cause of bugs.