Upload traces.
Get evals.
Ship dope, badass, rad, legendary, insane, beast, goat, fly, boss agents.

Drop in the trace file. GetEvals works out how your agent actually fails, turns those failures into evals, and hands back a quality report scorecard.

Drop your traces here

JSONL · JSON · NDJSON · CSV · TSV · TXT · GZ · ZIP

A report being built. Yours takes about ten minutes.

02 — What you get

One file. Your agent's quality, at a glance.

Scores, ranked failure modes, a heatmap you can click into, and the evals to keep testing with.

trace-eval-report.html120 traces · works offline · nothing uploaded

Scoreboard — the answer in four numbers

32%of traces have ≥1 failure
5failure modes discovered
120traces read
0.86κ vs your labels

Failure modes — ranked by how often they happen

Answer contradicts a tool result23%28/120 · CI 16–31
Fabricated policy or fact13%15/120 · CI 7–19
Stops before doing what was asked13%15/120 · CI 7–19
Ignores an explicit constraint8%9/120 · CI 4–14
Wrong tool for the right intent4%5/120 · CI 2–9

Heatmap — which trace hit which mode, click any cell

Every verdict — with the line it rests on

trace #0142 — Answer contradicts a tool resultFail

assistant: “Your order is still processing — it should ship in two to three days.”

↳ get_order_status returned state: "delivered" four turns earlier

✓ quote verified in your filereworded judge agrees 12/12

Example report. Yours is built from your own traces.

03 — The run

File in, evals out. About ten minutes.

MODEL google/gemini-3.7-flash · EACH RUN up to 120 traces read, 800 cells graded · PRICE free, 5 runs a day, no account

04 — Trust

Nothing here asks you to take its word.

The evidence is a line from your file

Asked again, in different words

A failed call stays a hole

Scored against your own labels

06 — Questions

What can I upload?

OpenAI chat and Batch JSONL, OpenAI Evals files, Anthropic Messages, Claude Code and Codex sessions, Langfuse and LangSmith exports, OpenTelemetry GenAI, OpenInference and Vercel AI SDK spans, ShareGPT and ChatML, and plain CSV — twelve formats in all. Gzip and zip are unpacked for you, and the format is detected automatically.

How many traces do I need?

Thirty shows real patterns; a hundred or two makes the percentages worth quoting. Files up to 200MB are fine — above 200 traces a seeded sample is analysed and the report lists exactly which traces went in.

Where does my file go?

Nowhere. It is parsed in your browser and never uploaded whole. To grade a trace, a bounded excerpt of that one trace goes to the judging model through our proxy, which stores none of it. No account, no database, no training on your data — close the tab and it is gone. If your traces cannot leave your network at all, redact them first or run the whole thing yourself: it is one Next.js app and your own model key.

What does it cost?

Nothing, and there is no account. The model spend is ours, so a run is capped at 120 traces read, 800 cells graded and 5 runs a day. Need more? Clone the repo and use your own key.

Why trust a model that judges a model?

Not on its word — on the quote under each verdict, taken from your own trace and checked against your file verbatim. Verdicts are re-judged with the prompt reworded, unstable modes are badged, failed calls are reported as ungraded, and any labels in your upload are used to score the judge. What happened when we did this to ourselves is in the Lab, wins and losses.

Does this replace Langfuse, LangSmith or Braintrust?

No. Those store your traces and watch them over time. This is the one-off analysis that tells you what is worth watching — and hands you the graders to run there.

I'm moving off OpenAI Evals. Can I bring my data?

Yes. Evals data files are read directly, and any label, correct, passed or score field becomes ground truth, so the report can tell you how well the judge matches labels you already trust. Exports come back in the same format, plus promptfoo and portable JSON.