Python Traceback Parser
Turns a wall of traceback text into a table and points at the deepest frame that is your own code.
Loading the tool…
How to use this tool
- Copy the whole traceback, starting at the "Traceback (most recent call last):" line, and paste it in.
- Leave the library field blank to use the usual defaults, or list your own path fragments separated by commas.
- Select Parse the traceback.
- Open the file named in the "Start here" row — the deepest frame that is your own code rather than a library.
What python traceback parser does
A traceback is read bottom-up, which nobody finds natural, and the frame that matters is usually neither the first nor the last. It is the deepest one that belongs to your own code — everything below it is a library doing what it was told with a value it should never have been given. This page lays the frames out as a table, marks each one as library or your code, and says which one to open first.
The library test is a list of path fragments, and it is editable, because what counts as third-party depends on how the project is laid out. The defaults cover site-packages, dist-packages, the standard library path and frozen importlib frames. Chained exceptions are handled too: when Python prints "During handling of the above exception", the block you care about is the last one, and the page says so rather than leaving you to work out which of two tracebacks actually stopped the program. Everything is parsed as text in your browser — no traceback is uploaded anywhere, which matters because tracebacks routinely contain file paths, usernames and argument values.