SmartQueryTools

Filter by Date Range JSON Files Online

Filter JSON files to rows within a date range using simple start and end date pickers. See a live match count before you apply the filter — no upload required, runs in your browser.

How to filter by Date Range JSON files

  1. Drop your file onto the upload area. The first date or timestamp column is selected and the pickers are pre-filled with its earliest and latest dates.
  2. Check the Date column. If no date columns were detected, every column is listed and the one you pick is converted to a date when filtering.
  3. Set the Start date, the End date, or both. Both ends are inclusive. Leave one blank for an open-ended range.
  4. Watch the live count, such as "3 of 5 rows match this range (60%)", which updates as you change the dates.
  5. Click Filter by Date Range, check the preview, then download the matching rows in the same format.

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

A clinic manager needs every appointment booked in April 2026 across two sites for a monthly attendance report. The file stores the full appointment time.

Input (JSON)

[
  {
    "appointment_id": "A-310",
    "clinic": "Riverside",
    "appointment_at": "2026-03-31 16:45:00",
    "outcome": "attended"
  },
  {
    "appointment_id": "A-311",
    "clinic": "Riverside",
    "appointment_at": "2026-04-01 08:30:00",
    "outcome": "attended"
  },
  {
    "appointment_id": "A-312",
    "clinic": "Hillcrest",
    "appointment_at": "2026-04-17 13:00:00",
    "outcome": "no-show"
  },
  {
    "appointment_id": "A-313",
    "clinic": "Hillcrest",
    "appointment_at": "2026-04-30 17:15:00",
    "outcome": "attended"
  },
  {
    "appointment_id": "A-314",
    "clinic": "Riverside",
    "appointment_at": "2026-05-02 09:00:00",
    "outcome": "cancelled"
  }
]

Settings

  • Date column: appointment_at (TIMESTAMP)
  • Start date: 2026-04-01
  • End date: 2026-04-30

Result

appointment_idclinicappointment_atoutcome
A-311Riverside2026-04-01 08:30:00attended
A-312Hillcrest2026-04-17 13:00:00no-show
A-313Hillcrest2026-04-30 17:15:00attended

Timestamps are cut to their calendar date before comparing, so A-313 at 17:15 on 30 April is kept even though it is later in the day than midnight. A-310 on 31 March and A-314 on 2 May fall outside the range. The time of day is not changed in the output. The live count showed 3 of 5 rows (60%) before the filter ran.

Working with JSON files

JSON has no date type, so dates are strings. Keys holding strings like "2026-04-17" are detected as dates on load and selected automatically. Timestamps written with a T separator, such as "2026-04-17T13:00:00Z", may stay as text. When no key is detected as a date, the dropdown lists every column, and the filter converts the text you pick to a date when it runs. If another key was detected as a date, only date keys are listed, so run Parse Dates on the text key first.

Epoch numbers such as 1776430800 are not dates to this tool. Casting a number to a date fails, so convert epoch fields with Format Timestamps first. Objects missing the date key are NULL and are left out. The output is a JSON array of the matching objects. Detected dates are written back as "YYYY-MM-DD" strings, and all other keys, including nested objects, are unchanged. The match count before filtering tells you how many objects the array will hold.

Frequently Asked Questions

Can I filter JSON records by an epoch timestamp?

Not directly. Epoch numbers cannot be cast to a date. Convert them to a timestamp first, then filter the new column.

Why is my ISO timestamp key not pre-selected as a date?

Values with a T separator or a zone suffix can load as text. If it is the only date-like key, choose it manually and the filter converts it when it runs. Otherwise convert it with Parse Dates first.

Are the start and end dates inclusive?

Yes, both. Timestamps are cut to their date first, so everything on the end date is kept, whatever the time of day.

Can I filter with only a start date or only an end date?

Yes. Leave either picker empty for an open-ended range. At least one date must be set before the filter button is enabled.

Can I filter by time of day, such as 09:00 to 17:00?

No. The pickers work in whole days. Use the SQL Query tool for time-of-day conditions.

Related Tools

Count Values in JSON Files Online

Group and count rows by any column in JSON files directly in your browser. Sort by frequency or value to find the most common entries — no upload required.

Aggregate JSON Files Online

Group and aggregate JSON files by any column directly in your browser. Calculate sum, average, min, max, and count for any numeric column — no upload required.

Truncate Dates in JSON Files Online

Truncate date and timestamp columns in JSON files to a chosen precision — year, quarter, month, week, day, hour, or minute — directly in your browser. Rounds timestamps down to the start of each period. No upload required.

Filter by Date Range CSV Files Online

Filter CSV files to rows within a date range using simple start and end date pickers. See a live match count before you apply the filter — no upload required, runs in your browser.

Filter by Date Range Excel Files Online

Filter Excel files to rows within a date range using simple start and end date pickers. See a live match count before you apply the filter — no upload required, runs in your browser.

Filter by Date Range Parquet Files Online

Filter Parquet files to rows within a date range using simple start and end date pickers. See a live match count before you apply the filter — no upload required, runs in your browser.

JSON Viewer Online

View and inspect JSON files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.

Convert JSON to Parquet Online

Convert JSON files to Parquet format directly in your browser. No upload required — your data never leaves your device.