jsonlkit.com
JSONL (JSON Lines) utilities, in the browser
Say hi →

JSONL Value Counts

updated 16 August 2026

What is actually in this field? Point at a key and get every distinct value with its count and percentage, sorted by frequency. It answers the first question anyone asks of a new dataset — is the label balanced, how many languages are in here, is that enum really only five values — and the answer takes one paste.

Count values

Drop a .jsonl file here, or Up to 1 GB · in your browser

The three numbers in the status bar

Distinct values over total observations is the shape of the field. A ratio near 1 means the field is an identifier, not a category, and counting it is not the analysis you wanted. Records missing the field is the coverage number — a field present on 60% of records is a different thing from a field whose most common value is null. Values appearing exactly once is the long tail: a label set with forty singletons usually means free text where an enum was intended, and those forty are typos.

Percentages are of the observations counted, not of the file. With arrays expanded, or with records missing the field, that is deliberately not the same as the record count — the status bar gives you both so the difference is visible.

Trim, case and arrays

Trim and ignore case merge variants that are the same value with different spelling of whitespace or capitalisation. Turn them on when the goal is understanding the data, and off when the goal is finding out how inconsistent it is — a count that splits EN, en and  en into three rows is telling you something worth fixing upstream.

Expand arrays is for tag-like fields. Without it, ["a","b"] is counted as the single value ["a","b"]; with it, a and b each get one. Objects are always counted by their canonical JSON form, with keys sorted, so two objects that differ only in key order count as one value.

Privacy

Nothing is uploaded. The whole thing runs in this tab, in your own browser. That matters here more than on most tool sites — training data is usually the most sensitive file a team owns.

Frequently asked questions

Can I count more than one field at once?

One field per pass. For a whole-file overview of which keys exist and how often, Field coverage is the better starting point; come here once you know which field to look at.

How do I count combinations of two fields?

Build a composite value first with Template render — a template of {{lang}}|{{label}} per record — then count that. The output of the render is text, so paste it back as a single-field JSONL or count it in a spreadsheet.

Why is null a counted value but a missing field is not?

Because they mean different things. An explicit null is a value the producer wrote; an absent key is a value it never had. Conflating them hides schema drift, so they are reported separately.

Can I get the counts as a chart?

Not here — the Markdown output pastes straight into a ticket or a README, and the TSV opens in any spreadsheet where charting is one click. Keeping the tool text-only is what lets it stay entirely in your browser.

Related tools