Skip to content
PithLab

↑↓ to move · Enter to open · Esc to close

CSV Viewer with Sorting and Filtering

Open CSV data as a sortable, filterable table.

Use via API

Parse CSV into headers and rows (padded to the same width), optionally filtered by a search term and sorted by a column. Numbers and dates sort naturally. Send JSON, get JSON back.

POST https://pithlab.com/api/v1/tools/csv-viewer

curl https://pithlab.com/api/v1/tools/csv-viewer \
  -H "Authorization: Bearer $PITHLAB_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":"city,population\nLeeds,812000\nYork,202800\nBristol,472400","sortColumn":2,"sortDirection":"desc"}'

Fields and responseOpenAPI documentGet an API key

About the CSV Viewer

View CSV files as a clean, sortable table in your browser. Click headers to sort, filter rows by any text and export the result. Nothing is uploaded.

How to use the CSV Viewer

  1. Paste your CSV, or click Example.
  2. Leave the delimiter on Auto, or pick comma, semicolon, tab or pipe.
  3. Click a column heading to sort ascending, again for descending and a third time to clear.
  4. Type in the filter box to show only rows that contain that text.
  5. Copy or download the filtered and sorted rows as CSV.

Examples

Sort by price, lowest first

Input

item,price
Tea,4.5
Cake,12
Coffee,3.2

Output

item,price
Coffee,3.2
Tea,4.5
Cake,12
Filter rows containing london

Input

name,city
Ada,London
Grace,New York
Alan,london

Output

name,city
Ada,London
Alan,london

Frequently asked questions

How does sorting work?

Columns of numbers sort numerically, so 9 comes before 10. Text sorts naturally, so item 2 comes before item 10, ignoring case. Empty cells always go to the bottom. Click the same heading again to reverse the order.

How many rows can it show?

It handles files with many thousands of rows, but shows the first 1,000 matching rows to keep the page fast. Sorting, filtering and the export always use every row.

Is my CSV file uploaded anywhere?

No. The CSV is read and displayed entirely in your browser, so it never leaves your device.

What if my rows have different numbers of columns?

Short rows are padded with empty cells so the table lines up, and a note lists the lines that do not match the first row.