# Query and edit JSONL without losing the source record

Local workflow · Windows and macOS

Find training records across a local JSONL or NDJSON file, review precise values and save a separate corrected copy.

Updated Nov 4, 2026 · [RowCove](https://rowcove.com/)

**How do I query and edit a large JSONL file locally?** Open the source, use full-file Filters for source-wide questions, inspect the original row and stage a supported edit in Pro. Save copy creates a separate full-source artifact; the active filter does not turn it into a filtered export.

**In this guide** [Watch: one label, a million records](https://rowcove.com/guides/query-edit-jsonl#watch) [1. Open and check the record structure](https://rowcove.com/guides/query-edit-jsonl#open) [2. Filter the source, then order the useful result](https://rowcove.com/guides/query-edit-jsonl#query) [3. Review a correction and save a complete copy](https://rowcove.com/guides/query-edit-jsonl#edit) [4. What the mock workflow measured](https://rowcove.com/guides/query-edit-jsonl#mock) [5. Evaluate repeated work, not just a file extension](https://rowcove.com/guides/query-edit-jsonl#value) [All practical guides ↗](https://rowcove.com/guides)

## Watch: one label, a million records

You found one wrong label in a training file. Review the exact record, stage the correction and keep the original. This 29-second example shows the before, staged and reopened values in the Windows 0.1.1 client.

Your browser cannot play this video. Open the video using the link below. Actual client stills and checked output · Generated mock data · English synthetic narration

The 1.147 GB mock file contains 1,048,576 records. A full comparison found only the intended label changed; every other record remained byte-identical, the long ID stayed exact and the source hash was unchanged. The clip condenses client snapshots and output verification rather than showing a continuous save-dialog recording.

[Open the video](https://rowcove.com/media/jsonl-one-label.mp4) · [English captions](https://rowcove.com/media/jsonl-one-label.vtt)

## 1. Open and check the record structure

Choose Open data and select the file in the native picker. RowCove detects JSON Lines; review the sample and open it. Inspect nested fields and exact identifiers before relying on a column. Keep identifiers larger than JavaScript’s safe integer range as exact values, not a rounded spreadsheet number.

All examples and measurements below use generated mock data. No customer files or trading records are used.



```
{"id":9007199254740993,"group":"mock-42","label":"demo"}
```



A first page is an inspection scope. Full-source opening can build a disk-backed row index; its preparation cost is separate from rendering a page.

## 2. Filter the source, then order the useful result

Open Filters, choose a field and an appropriate operator, enter the value and apply the full-file query. For the mock example, select group equals mock-42. Sort the id field numerically when numeric order is intended. The loaded-row search box searches the current loaded window; it is not a substitute for a source-wide filter.

Check the query result count and follow row windows beyond the first page. Retain source-row identity when locating a correction. For nested training records, compare the complete value in the inspector with the [trainer’s input structure](https://rowcove.com/guides/jsonl-training-data) .

## 3. Review a correction and save a complete copy

Switch to Edit, select the intended cell, review its full value in the inspector, then choose Stage edit. Review or undo staged changes before choosing Save copy and a new destination in the native save dialog. A string replacement and an object/array replacement have different JSON meanings: verify the reopened value and type.

Save copy preserves source scope and order while applying source-record edits; it does not automatically export only filtered rows or the displayed sort order. Reopen the copy and verify the changed record, unaffected identifiers, total record scope and nested structure. The original is your reference.

Allow disk space for the complete output and any index. Editing one label can still require a complete source copy. For a folder of shards, use the [collection workflow](https://rowcove.com/guides/query-dataset-shards) to locate the source file before editing that file separately.

## 4. What the mock workflow measured

All examples and measurements below use generated mock data. No customer files or trading records are used.

JSONL mock timings: 1.147 GB source

| Operation | Median | Observed range |
| --- | --- | --- |
| Open, build index and return first 100 records | 1.732 s | 1.689–1.735 s |
| Open and return all 10,810 group matches | 2.783 s | 2.759–2.855 s |
| Open, filter and numerically sort those matches | 2.792 s | 2.762–2.857 s |
| Open and read first, middle and final 100-record windows | 1.740 s | 1.735–1.744 s |
| Open, change one label and write the complete 1.147 GB copy | 3.866 s | 3.853–3.905 s |

Measured on Windows with a Release native engine build on 27 October 2026: three fresh-process trials per task, the same 1,048,576 logical mock records, and a 1,024-byte synthetic payload. Median elapsed times include opening, index/schema preparation and the requested work. UI rendering, IPC and the separate correctness pass are excluded. OS caches were not cleared; these are not cold-disk guarantees or a comparison with another application. These engineering measurements cover the updated engine included in 0.1.1; results depend on the device, source and requested operation.

The complete query and saved-copy results were checked record by record, including exact IDs and unchanged source hashes. The numeric sort covers the 10,810 matching records, not a global million-row sort. First/middle/final access checks those 300 returned records, not a separate complete scan.

Native peak working set was at most 26.6 MiB for these filter/sort cases; the retained row index was 17 MiB. This is not total desktop memory. Temporary disk was observed at result time, not as a transient peak.

## 5. Evaluate repeated work, not just a file extension

Pro is useful when locating and correcting records is repeated work: fewer one-off conversion scripts, less manual file splitting and a reviewed independent output. Free Preview opens up to 100 records read-only. Try representative files first; occasional small-file inspection may already be covered by free tools. See [introductory prices and renewal terms](https://rowcove.com/pricing) : first month US$5, then US$10/month; first year US$39, then US$100/year, for eligible new subscribers.

Time saved depends on the tasks you repeat and your existing tools. These timings do not establish purchase intent, paid conversion or a universal speed ranking.

## Continue your workflow

- [Local JSONL and NDJSON workflows](https://rowcove.com/jsonl-viewer)

- [Find source records across shards](https://rowcove.com/guides/query-dataset-shards)

- [Authorize local MCP tools](https://rowcove.com/docs-mcp)

## Try the first page on your own data.

Start on Windows or macOS: source information and up to 100 records, read-only. Review reader capabilities before planning a full-file Pro workflow.

[Download for Windows ↓](https://rowcove.com/download/windows) [Download for macOS ↓](https://rowcove.com/download/macos)

Version 0.1.1 · Windows x64 · macOS Apple Silicon · [Install guide →](https://rowcove.com/download)

[Reader capabilities →](https://rowcove.com/formats)

---

Canonical page: https://rowcove.com/guides/query-edit-jsonl

Updated: 2026-11-04

[Related Agent reference](https://rowcove.com/agent/workflows.md)
