Filter the table

One input, five fields and two operators. The filter hides rows and never removes them, which is what makes it the safe way to narrow a capture.

Updated

Narrow the table to the requests that matter without losing any: the filter hides rows and never removes them.

Type a term and the table narrows; clear it and everything is back.

Filter the table

  1. Click the Filter captured box above the table, or press / anywhere in the tracker.
  2. Type a term such as status:4xx or method:POST. The table narrows as you type, and the count beside the box reads how many rows are shown out of all of them, such as 4 of 17.
  3. Clear the box to see everything again, including rows that arrived while the filter was on.
The filter bar reading url colon slash v2 slash orders, four rows shown, and the count 4 of 17 beside the box
One term, and the count beside the box: 4 of 17. The other thirteen rows are hidden, not gone.

Fields and values

A term is field:value. Field names and values are case-insensitive, and spaces around the colon are ignored.

Field Matches Examples
url: anywhere in the full URL: scheme, host, path, query and #fragment url:/v2/orders, url:token=
method: part of the method method:POST; method:p also finds PUT, PATCH and OPTIONS
status: a class, written 1xx to 5xx, or part of the status code status:4xx, status:404, status:50 (500 to 509)
date: part of the time in the TIME column, a time of day such as 13:59:07 date:13:5 (13:50:00 to 13:59:59)
cache: one word: yes, true, cached or hit for a response served from cache; no, false, fresh or miss for one that was not cache:yes, cache:miss
  • A bare word is a URL term. payments means url:payments. A pasted URL works too: https://api.example.com/v2 is read as a URL term, and so is anything whose text before the first colon contains / or ., such as example.com:8443. Other prefixes are an error; type url:localhost:3000, not localhost:3000.
  • Only the first colon splits, so url:https://x.test/a is one URL term.
  • status: reads the code only. A request still in flight, a failed one (ERR) and a blocked one (BLOCKED) have no code, so no status: term matches them. status:0 is part of a code, so it finds 200, 404 and 500, not "no status".
  • date: is the time of day, never a calendar date: date:2026 matches nothing.
  • cache: takes a whole word. cache:y matches nothing. A request whose response has not started matches neither yes nor no.

Combine terms

& is AND and | is OR, and & binds tighter: a | b & c means a | (b & c).

The filter bar reading status colon 404 pipe method colon POST, showing three POST rows and one 404
Two terms joined by |: every POST, plus the one 404.
  • A space is not AND. status:404 method:GET is one term whose value is 404 method:get, and it matches nothing. Write status:404 & method:GET.
  • & and | always split. There is no quoting, so url:a=1&b=2 becomes url:a=1 AND b=2.
  • There are no parentheses and no negation. ! and ( are searched for as ordinary characters: !foo finds URLs containing !foo.

When the query is wrong

The box turns red, a message says why, and the table keeps the last filter that worked:

You type The message
foo:bar Unknown field: foo
method: method: needs a value
a &, a && b, | b A term is missing beside & or |

When nothing matches

The empty table says which of these is true:

The table says Because
No request matches this filter. Rows exist, and the filter hides all of them
No requests captured. Nothing has arrived yet
Capture is paused. Pause is on and nothing was captured
Nothing captured yet from tab or the tabs it opens. The capture scope under Tabs is one tab, still quiet
Tab was closed. Tabs it opened are still captured, but nothing has arrived from them yet. The scoped tab is gone
Nothing left from this file. An imported file's rows were all cleared
The table empty under a filter for a host that was never called, the count reading 0 of 17 and the message No request matches this filter
Not an empty capture: 0 of 17, and a message that says so.

Filter, then act on what is shown

  • Export offers Shown in the table, and the file records that it holds a subset. The dialog opens on Everything captured, or on Selected rows when rows are selected, so pick Shown yourself. See Export and copy.
  • Clear → Clear shown removes exactly the rows the filter shows, after asking.
  • Ctrl+A in the table selects every row the filter shows.
  • A selected row that the filter hides stays selected, and its details stay open.

The filter is not saved: it lasts until you change it or close the tracker. It applies to the view on screen, the live capture or an imported file, and stays as you switch between them.

Common mistakes

  • A space instead of &. Two terms need an operator between them.
  • Expecting ! or parentheses. For "everything except", use Skip, with its cost, or narrow from the other side.
  • Expecting the filter to free memory. Hidden rows are still in the buffer. Clear frees them.

Not in this version

Parentheses, negation, regular expressions, a field for response bodies and remembering a filter after the tracker closes are not in this version.