Lens · json streams

One JSON per line, as one table.

The union of the records’ keys becomes the columns, nested values are shown compactly in place, and a timestamp or level field is promoted to the front. A line that will not parse keeps its position and gets flagged rather than dropped.

Drop a .jsonl file here
or choose a fileor paste with ⌘V
In this browser 0

Files you open are remembered here, on this device, and are listed by every viewer. Nothing is sent anywhere — clearing them is permanent.

    Keys become columns

    Every key any record uses gets a column, ordered by how many records actually have it.

    Log-shaped

    A timestamp or level field is moved to the front and severities are tinted.

    Bad lines survive

    A line that is not valid JSON is counted and named by line number, not quietly skipped.