- Splitting is unambiguous
- Fields are separated strictly on tabs. Because TSV values cannot contain a literal tab, there is no quoting to interpret, so a value containing commas, quotes or apostrophes passes through untouched. None of them are special here.
- Type inference stays conservative
- Clear numbers become numbers, true and false become booleans, and null becomes null. Anything that might be an identifier is kept as a string: 007 retains its leading zero, and integers too large for JavaScript to represent exactly stay text rather than being silently rounded.
- Headers must be unique
- JSON objects cannot repeat a key, so a duplicated column name is suffixed, two "name" columns become name and name_2, and a blank header becomes column_1, column_2 and so on by position. Nothing is dropped.
- Pasting straight from a spreadsheet
- Selecting cells in Excel, Google Sheets or Numbers and copying puts tab-separated text on the clipboard, so you can paste directly into the input pane. This is the fastest way to turn part of a sheet into JSON fixtures or a request body.