TSV to JSON Converter
Convert tab-separated values or spreadsheet clipboard selections into clean JSON objects.
Convert TSV (tab-separated values) or Excel/Google Sheets clipboard data into JSON objects. Preset tab delimiter with smart type parsing and header row mapping.
Use TSV to JSON Converter
TSV or Spreadsheet Paste
JSON result
Built for the task, not the page view
- Pre-configured tab (\t) delimiter optimized for spreadsheet clipboard paste
- Direct compatibility with Excel and Google Sheets table selections
- Header-row extraction with automatic deduplication of duplicate column names
- Automatic type inference for numbers, booleans, and nulls with leading-zero preservation
- Multiple JSON structures: Array of Objects, 2D Matrix, Keyed Map, Column Arrays
- Inline row-width mismatch warnings with exact line and column disparity counts
- Client-side file loading (.tsv, .tab, .txt) plus one-click copy and JSON download
TSVTab-Delimited TextSpreadsheet Clipboard (Excel/Sheets)Array of Objects2D JSON ArrayKeyed JSONColumn ArraysUse it correctly
Spreadsheet Clipboard Paste Workflow
Copying rows directly from Microsoft Excel, Google Sheets, LibreOffice Calc, or Apple Numbers copies cells separated by horizontal tab characters (\t) with newline row terminators. Pasting directly into this workbench instantly converts your spreadsheet selection into clean JSON without requiring an intermediate file export.
TSV Quoting vs. Standard CSV
Standard CSV uses commas, which frequently collide with thousands separators (1,000), European decimals (19,95), and prose text, requiring double quotes around fields. TSV uses tabs as natural delimiters that rarely collide with cell content. When spreadsheet cells contain internal newlines or literal tabs, spreadsheets enclose them in quotes and escape quotes as double double-quotes (""), which our RFC 4180 engine parses accurately.
Header Extraction & Key Deduplication
When header handling is enabled, the first row supplies JSON property keys. If your spreadsheet selection contains duplicate or blank headers, the engine automatically deduplicates them by appending _2, _3, or column_N suffixes, preventing key collisions and data loss in the generated JSON output.
Strict Type Conversion & Leading-Zero Safety
Numeric values, booleans (true/false), and nulls are converted to native JSON types by default. Crucially, numeric strings with leading zeros (such as US ZIP codes "02138", serial numbers, or identifiers like "004812") are preserved as strings to prevent truncation and precision loss.
Row-Width Discrepancy Warnings
If a row has fewer or more columns than the header row, the engine generates an inline warning specifying the exact row number and column count. Missing cells are padded with empty strings, and surplus columns beyond the header are safely omitted in object mode to prevent invalid keys.
Local In-Browser Processing Guarantee
All TSV parsing and JSON serialization executes directly within your browser tab. Your spreadsheet data, financial figures, and customer records are never uploaded to an EveryTools transformation API or any remote server.
TSV vs. CSV & Spreadsheet Clipboard Guide
Tab-Separated Values (TSV) offer distinct advantages when importing tabular data, particularly when copying cells directly from spreadsheet software like Microsoft Excel or Google Sheets. The reference table below details how common spreadsheet patterns convert into JSON.
| Scenario | Tab-Separated Input | Parsed JSON Output | Engine Handling Rule |
|---|---|---|---|
| Direct Excel Paste | 101\tAlice\tAdmin | {"id":101,"name":"Alice"} | Clipboard tabs are parsed cleanly without delimiter collisions. |
| Embedded Commas | 101\tDoe, Jane\tSan Francisco, CA | {"name":"Doe, Jane"} | Commas in names or addresses require no quote escaping in TSV. |
| Leading Zero IDs | 101\t01234\t004812 | {"zip":"01234","sku":"004812"} | Values with leading zeros are preserved as strings to protect postal codes and identifiers. |
| Multiline Cell Values | 101\t"Line 1\nLine 2"\tActive | {"notes":"Line 1\nLine 2"} | Quoted cells containing newlines are preserved within cell content. |
| Duplicate Column Names | id\tcategory\tcategory | {"category":"A","category_2":"B"} | Duplicate headers are suffixed (_2, _3) to prevent overwriting keys. |
| Native Type Casting | 42\t19.99\ttrue\tnull | 42, 19.99, true, null | Numbers, booleans, and nulls are cast to native JSON primitive types. |
Supported JSON Output Shapes
Array of Objects (Default)
Standard JSON collection format where each row becomes an object keyed by header row names. Ideal for REST APIs and NoSQL datastores.
[
{ "id": 101, "name": "Alice", "role": "Admin" },
{ "id": 102, "name": "Bob", "role": "Editor" }
]2D Matrix (Array of Arrays)
Compact matrix representation without key repetition. Best for charting libraries, vector calculations, or low-overhead payloads.
[
[101, "Alice", "Admin"],
[102, "Bob", "Editor"]
]Keyed by First Column
Dictionary map indexed by the first column as unique dictionary keys. Optimized for instant key-based lookups.
{
"101": { "name": "Alice", "role": "Admin" },
"102": { "name": "Bob", "role": "Editor" }
}Column Arrays
Columnar structure grouping all values of each header into separate arrays. Ideal for data analysis and columnar series.
{
"id": [101, 102],
"name": ["Alice", "Bob"],
"role": ["Admin", "Editor"]
}