SmartQueryTools

Extract Unique Values from JSON Files Online

Extract all distinct values from any column in JSON files directly in your browser. Download the unique values list — no upload required.

How to extract Unique Values from JSON files

  1. Drop your file onto the upload area. The row count is shown and the first column is pre-selected.
  2. Choose the column you want to list in the Column dropdown.
  3. Click Extract Unique Values. The distinct values appear in a single column called value, sorted in ascending order.
  4. Click Download to save the list in the same format you uploaded, with _unique added to the file name.

Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.

Worked example

An HR team is building a department filter for a careers page from a job postings export. They need the list of departments that actually appear in the data.

Input (JSON)

[
  {
    "job_id": "J-310",
    "title": "Backend Engineer",
    "department": "Engineering",
    "remote": true
  },
  {
    "job_id": "J-311",
    "title": "Account Executive",
    "department": "Sales",
    "remote": false
  },
  {
    "job_id": "J-312",
    "title": "QA Analyst",
    "department": "engineering",
    "remote": true
  },
  {
    "job_id": "J-313",
    "title": "Payroll Specialist",
    "department": "Finance",
    "remote": false
  },
  {
    "job_id": "J-314",
    "title": "Office Coordinator",
    "department": null,
    "remote": false
  },
  {
    "job_id": "J-315",
    "title": "Sales Manager",
    "department": "Sales",
    "remote": false
  }
]

Settings

  • Column: department

Result

value
Engineering
Finance
Sales
engineering

Six rows give four distinct values. Sales appears twice but is listed once. The null department is left out. Engineering and engineering are different values because matching is case-sensitive. The sort puts all capitalised words before lowercase ones, which is why engineering comes last. The list reveals a data entry problem to fix before it goes on the site.

Working with JSON files

You can pick any top-level key. Objects that are missing the key are treated as null and are not listed. Values keep their JSON types, so a numeric key gives a list of numbers and a boolean key gives at most true and false.

The output is a JSON array of objects, each with a single value key, such as [{"value": "Engineering"}, {"value": "Finance"}]. It is not a bare array of strings. If your code needs a plain array, map over the result to take .value from each item. For keys that hold nested objects, each distinct whole object is one entry. Flatten the JSON first to list the values of a single nested field. Sorting follows the type of the key. Numbers sort numerically, strings sort alphabetically with uppercase letters before lowercase, and false comes before true. Empty strings are real values in JSON, so "" appears as its own entry at the top of a text list.

Frequently Asked Questions

Is the JSON output a plain array of values?

No. It is an array of objects with one key, for example [{"value": "Sales"}]. Map over it to get a plain array.

Can I list unique values of a nested JSON key?

Not directly, because only top-level keys are listed. Flatten the file so the nested key becomes a column, then extract its unique values.

Are null values included in the list?

No. Nulls are excluded. Empty CSV fields and blank Excel cells load as nulls, so they are left out too. An empty string in a JSON or Parquet file is a real value and is listed. Use Count By if you need to know how many rows are null.

Is the matching case-sensitive?

Yes. "Sales" and "sales" are listed separately, and capitalised values sort before lowercase ones. Run Convert Case first if you want them merged.

Is there a limit on the number of unique values?

The on-screen table shows the first 500 values. The heading gives the full count, and the downloaded file contains all of them, limited only by your browser's memory.

Related Tools