Interactive Data Table
Paste CSV data to get a sortable, filterable, paginated data table
Acerca de esta herramienta
Turn any CSV data into a fully interactive table in seconds. Paste your CSV, or load one of the built-in sample datasets (countries, products, or students). Columns are auto-detected and rendered with click-to-sort headers (ascending and descending). A global search box filters across all columns simultaneously. Choose pagination size (10, 25, or 50 rows per page) to handle large datasets comfortably. When you're done filtering or sorting, export the visible data back to a clean CSV file with one click.
Cómo usar
- 1 Paste your CSV data into the input area, or click a sample dataset button.
- 2 The table renders automatically with auto-detected column headers.
- 3 Click a column header to sort by that column; click again to reverse the order.
- 4 Type in the Search box to filter rows across all columns.
- 5 Use the rows-per-page selector to show 10, 25, or 50 rows at a time.
- 6 Navigate pages with the Previous / Next buttons.
- 7 Click 'Export CSV' to download the filtered, sorted data as a CSV file.
From flat CSV to a working data grid
A CSV file is just lines of text with values separated by commas. It is perfect for storage and terrible for reading: a hundred rows in a text editor is a wall of digits. This tool turns that wall into an interactive table you can sort, search, and page through — and then export back to clean CSV when you are done. Paste your data, click Load Table, and the first row becomes your column headers automatically. If you just want to see it work, the three sample buttons (Countries, Products, Students) load ready-made datasets instantly.
How the CSV parser handles tricky data
The hard part of reading CSV is fields that themselves contain commas. The parser walks each line character by character, tracking whether it is currently inside a double-quoted field. A comma inside quotes is treated as ordinary text; a comma outside quotes ends the field. It also handles the escaped-quote convention, where two double-quotes in a row ("") mean a single literal quote. So a row like "Smith, John",42,"He said ""hi""" parses correctly into three cells: Smith, John, 42, and He said "hi". Blank lines are skipped, and whitespace around each value is trimmed.
The three-state sort you should know about
Clicking a column header does not just toggle ascending and descending — it cycles through three states, which is unusually thoughtful and easy to miss:
- First click: ascending (an up arrow appears).
- Second click: descending (a down arrow).
- Third click: the sort is removed entirely and rows return to their original CSV order.
The table also detects column types automatically. If every value in a column parses as a number, that column sorts numerically — so 9 comes before 100. Otherwise it sorts lexicographically (alphabetically), where "100" would come before "9" because it compares character by character. This matters: a column of numbers stored as text in some other tool can sort in a surprising order, and the fix is to ensure the values are genuinely numeric.
A worked example with the Products sample
Load the Products dataset, then type electronics in the search box. The global filter scans every cell of every row and keeps only rows where some cell contains your text, so you are instantly down to just the electronics. Now click the Price ($) header: because every price is numeric, the rows sort 49.99, 89.99, 129.99 … in true numeric order rather than alphabetically. Click it again for most-expensive-first. Set rows-per-page to 10 and the footer reads "Showing 1–10 of N rows" with working Prev/Next buttons. Finally, click Export CSV — and here is the key behaviour: you get only the filtered, sorted rows, re-quoted properly so commas inside cells survive the round trip.
Why "what you see is what you export" matters
Many table tools export the original file regardless of your filtering. This one exports exactly the current view: search filter applied, sort applied. That makes it a genuine data-shaping step, not just a viewer. Need a CSV of only the students with an average above some grade, sorted high to low? Search, sort, export — three actions, no spreadsheet required. The export also re-escapes any field containing a comma, quote, or newline so the output is valid CSV that other tools will read correctly.
Practical tips and limits
- Search is case-insensitive and matches partial text. Typing
asiafinds "Asia" anywhere in any column; you do not need to target a specific column. - Pagination keeps it fast. Only the visible page of rows is rendered to the DOM, so the browser stays responsive. Datasets of a few thousand rows work smoothly; files of 10,000+ rows may pause briefly while parsing.
- The first row is always the header. If your data has no header row, add a throwaway one, or your first real record becomes the column titles.
- Mixed-type columns sort as text. A single non-numeric value (even an empty string is fine, but "N/A" is not) flips a column from numeric to lexicographic sorting. Clean the data if numeric order matters.
Privacy
Everything happens in your browser. The CSV you paste is parsed locally, the table is built on your device, and the export is generated client-side as a downloadable file. No data is uploaded to any server, so you can safely paste internal or sensitive spreadsheets — disconnect your network and the tool still works exactly the same.
Preguntas frecuentes
Formatea, valida y minifica JSON — con señalización exacta de errores de sintaxis.
Convierta datos CSV a JSON y arreglos JSON de vuelta a CSV — con opciones de delimitador y vista previa en vivo.
Convert CSV, TSV, or delimited text to HTML table, Markdown, or JSON