Data Converter
Move rows of data between the formats that spreadsheets, databases, APIs and address books expect. Upload a CSV, an Excel workbook, a JSON or XML file, a contact list or a table in a PDF, and get the same records back in the shape the next program reads.
Data Converter
or drop CSV, TSV, TXT … files here ·
Max 95 MB per file· Up to 20 files· Deleted after 30 minutes
Files are processed on our servers and deleted after 30 minutes.
Character that separates columns in CSV and text files, for both reading and writing. Auto detects it from the input and writes commas.
UTF-8 works for every language. Choose UTF-8 with BOM if Excel on Windows shows garbled accents or Asian characters when opening the CSV.
Excel, ODS and Numbers input: convert the first sheet only, or every sheet (one CSV per sheet in a ZIP, or one JSON key per sheet).
Name of the sheet tab in the new spreadsheet, up to 31 characters.
Array of objects uses column names as keys for every row; array of arrays is more compact and keeps the header as the first array.
Name of the outer element that wraps all rows; each row becomes a <row> inside it.
Used in CREATE TABLE and INSERT statements. Letters, digits and underscores only.
Quoting and column types differ slightly between databases; pick the one you will import into.
Rewrite date cells in one format. ISO (2026-10-18) is safest for databases and code; keep leaves them as they appear in the source.
How to use this tool
- 1
Upload the data file
Add CSV, TSV, XLSX, XLS, ODS, Numbers, JSON, XML, YAML, VCF, SQL, Parquet, HTML or PDF files, up to 20 at a time and 95 MB each.
- 2
Pick the target format
Search Convert to for XLSX, CSV, JSON, XML, SQL or another format. Delimiter, encoding, header row and date settings sit under Advanced settings.
- 3
Convert and import
Press Convert to XLSX (the label follows your choice) and download the file, or a ZIP when several sheets become several files.
Spreadsheet, text and code formats: what each one is for
Data formats exist because different programs read data differently. Spreadsheets like XLSX keep cells, sheets and number formats. CSV, written down as RFC 4180 in 2005, is the lowest common denominator: plain lines of values separated by commas, which every database and accounting system can import. JSON, standardized as RFC 8259 and ECMA-404, is what web APIs send and JavaScript reads. XML predates it and still runs invoices, feeds and office formats, while YAML is the indentation-based format of configuration files.
Most conversions are moves between those worlds: an analyst gets an API export in JSON and needs a sheet (JSON to Excel), a developer gets a client's spreadsheet and needs a seed file (CSV to SQL), an office exports a list to hand to another system (Excel to CSV). Each of those has a preset page with the right defaults, listed under this text.
Format limits are worth knowing before you convert. The XLSX grid holds 1,048,576 rows by 16,384 columns, while the old XLS format stops at 65,536 rows by 256 columns, so very large exports should go to XLSX, CSV or Parquet. Sheet names in Excel are capped at 31 characters, which is why Sheet name accepts no more.
Which data conversions are supported
| from ↓ · to → | XLSX | CSV | JSON | XML | YAML | SQL | VCF | Parquet | MD |
|---|---|---|---|---|---|---|---|---|---|
| CSV/TSV | CSV/TSV to XLSX: yes | CSV/TSV to CSV: yes | CSV/TSV to JSON: yes | CSV/TSV to XML: yes | CSV/TSV to YAML: yes | CSV/TSV to SQL: yes | CSV/TSV to VCF: yes | CSV/TSV to Parquet: yes | CSV/TSV to MD: yes |
| XLSX/XLS | XLSX/XLS to XLSX: yes | XLSX/XLS to CSV: yes | XLSX/XLS to JSON: yes | XLSX/XLS to XML: yes | XLSX/XLS to YAML: yes | XLSX/XLS to SQL: yes | XLSX/XLS to VCF: yes | XLSX/XLS to Parquet: yes | XLSX/XLS to MD: yes |
| ODS/Numbers | ODS/Numbers to XLSX: yes | ODS/Numbers to CSV: yes | ODS/Numbers to JSON: yes | ODS/Numbers to XML: yes | ODS/Numbers to YAML: yes | ODS/Numbers to SQL: yes | ODS/Numbers to VCF: yes | ODS/Numbers to Parquet: yes | ODS/Numbers to MD: yes |
| JSON | JSON to XLSX: yes | JSON to CSV: yes | JSON to JSON: yes | JSON to XML: yes | JSON to YAML: yes | JSON to SQL: yes | – JSON to VCF: no | JSON to Parquet: yes | JSON to MD: yes |
| XML | XML to XLSX: yes | XML to CSV: yes | XML to JSON: yes | XML to XML: yes | XML to YAML: yes | XML to SQL: yes | – XML to VCF: no | XML to Parquet: yes | XML to MD: yes |
| YAML | YAML to XLSX: yes | YAML to CSV: yes | YAML to JSON: yes | YAML to XML: yes | YAML to YAML: yes | YAML to SQL: yes | – YAML to VCF: no | YAML to Parquet: yes | YAML to MD: yes |
| VCF | VCF to XLSX: yes | VCF to CSV: yes | VCF to JSON: yes | VCF to XML: yes | – VCF to YAML: no | VCF to SQL: yes | VCF to VCF: yes | – VCF to Parquet: no | VCF to MD: yes |
| SQL | SQL to XLSX: yes | SQL to CSV: yes | SQL to JSON: yes | SQL to XML: yes | – SQL to YAML: no | SQL to SQL: yes | – SQL to VCF: no | SQL to Parquet: yes | SQL to MD: yes |
| Parquet | Parquet to XLSX: yes | Parquet to CSV: yes | Parquet to JSON: yes | Parquet to XML: yes | – Parquet to YAML: no | Parquet to SQL: yes | – Parquet to VCF: no | Parquet to Parquet: yes | Parquet to MD: yes |
| HTML/PDF table | HTML/PDF table to XLSX: yes | HTML/PDF table to CSV: yes | HTML/PDF table to JSON: yes | HTML/PDF table to XML: yes | – HTML/PDF table to YAML: no | HTML/PDF table to SQL: yes | – HTML/PDF table to VCF: no | HTML/PDF table to Parquet: yes | HTML/PDF table to MD: yes |
Data converter settings by output type
These settings apply when reading and writing delimited text.
- Delimiter: Auto detect, comma, semicolon, tab, pipe or space. Auto reads the input's separator and writes commas.
- Text encoding: UTF-8 by default; UTF-8 with BOM for Excel on Windows; UTF-16 and legacy code pages for old systems.
- First row is header: column names become JSON keys, XML tags, SQL columns and vCard fields.
- Quote every value: wraps every field in double quotes for strict importers.
For Excel, ODS and Numbers input and output.
- Sheets to convert: first sheet only, or all sheets as one CSV per sheet in a ZIP or one JSON key per sheet.
- Sheet name: the tab name in the new workbook, Sheet1 by default.
Structure options for code and databases.
- Pretty print: indented, readable JSON, XML or YAML; off gives compact output.
- JSON structure: array of objects with keys per row, or the more compact array of arrays.
- XML root tag: the outer element, rows by default; each record becomes a row element.
- SQL table name and SQL dialect: MySQL, PostgreSQL, SQLite or SQL Server.
Clean-up applied to every cell.
- Dates: keep as is, ISO 8601 (2026-10-18), 18/10/2026, 10/18/2026 or a Unix timestamp.
- Trim spaces: removes leading and trailing spaces, a frequent cause of failed lookups.
- Data URI prefix: Base64 output only, adds data:image/png;base64, or the matching type.
What a CSV row looks like after converting to JSON
[
{
"id": 1,
"name": "Ana",
"city": "Lisbon"
}
]Fixing common data import problems
Accents and non-Latin letters look garbled in Excel
Excel on Windows guessed a legacy encoding. Convert with Text encoding set to UTF-8 with BOM.
Dates swapped day and month after import
The target read 03/04 the other way round. Set Dates to ISO, which every database and language reads the same way.
Lookups fail even though the values look identical
Invisible spaces at the end of cells. Keep Trim spaces on.
The first data row became the column names
The file has no header row. Turn off First row is header so row 1 is kept as data.
The SQL file fails on import
The dialect does not match the database. Pick the right SQL dialect and use a SQL table name with letters, digits and underscores only.
Data converter questions
How do I open a JSON file in Excel?
Upload the .json file and convert it to XLSX. An array of objects becomes one row per object with the keys as column headers; nested objects are flattened into columns. JSON to Excel explains how nested arrays are handled.
Why does my CSV open in a single column in Excel?
Excel uses the list separator of your system's region. In countries that write decimals with a comma, such as Germany, France or Brazil, it expects semicolons. Convert again with Delimiter set to Semicolon, or import through Excel's Data tab and choose the delimiter yourself.
What does the Parquet option do?
Parquet is the Apache columnar format used by data warehouses and tools such as Spark, pandas and DuckDB. It stores each column together and compresses well, so a large CSV often shrinks considerably. Convert to Parquet for analytics pipelines, or Parquet to CSV to read one in a spreadsheet.
Can I import my contacts from a spreadsheet to my phone?
Yes. Put names, phone numbers and emails in columns with a header row, convert the sheet to VCF, and import the .vcf file into Google Contacts, iCloud or Outlook. The header names are mapped to vCard fields, defined in RFC 6350. The reverse, VCF to CSV, exports a phone's contacts to a sheet.
Which SQL dialect should I choose?
The one you will import into: MySQL, PostgreSQL, SQLite or SQL Server. They differ in how names are quoted (backticks in MySQL, double quotes in PostgreSQL and SQLite, square brackets in SQL Server) and in column types, so the matching dialect avoids syntax errors on import.
Why is my Base64 text larger than the file?
Base64, defined in RFC 4648, writes every 3 bytes as 4 text characters, so the output is about a third larger than the input. That is the price of being able to paste a file into HTML, CSS, JSON or an email body. Turn on Data URI prefix to get a string ready for an img src.
Can I convert a table inside a PDF to CSV?
Yes, for PDFs with real text. Upload the PDF and choose CSV or XLSX; tables are detected page by page. For scanned PDFs or photos of tables, use image to Excel, which reads the table with OCR first.
| Image to Excel | Document Converter | Convert to PDF |
| PDF Converter | Image to Text (OCR) | E-book Converter |
All Data Converter tools
Pick the exact target you were asked for. Every page below is the same tool with different defaults.
- CSV to Markdown Table ConverterConvert CSV to a Markdown pipe table for GitHub, GitLab, Obsidian or Jupyter. Pipes escaped, header row kept, any delimiter. Copy the result into your docs.
- CSV to Parquet ConverterConvert CSV to Apache Parquet with typed columns and compression, ready for pandas, DuckDB, Spark, BigQuery or Athena. No Python or Spark setup needed.
- CSV to SQL ConverterConvert CSV to SQL: a CREATE TABLE plus INSERT statements for MySQL, PostgreSQL, SQLite or SQL Server, with the table name you choose. No account.
- CSV to TXT ConverterConvert CSV to a .txt file for upload forms that only take text files, for recipients who should not open Excel, or for any text editor. 20 files at once.
- CSV to VCF ConverterConvert a CSV contact list to a VCF file for iPhone, iCloud, Android and Google Contacts. Columns map to vCard fields by header name. No account needed.
- CSV to XLS ConverterConvert CSV to XLS, the Excel 97–2003 format older importers and legacy Office installs still require. Auto delimiter detection, up to 20 files at once.
- CSV to XLSX ConverterConvert CSV to an Excel XLSX workbook with leading zeros, long IDs and accented text intact. Comma, semicolon and tab files detected automatically.
- CSV to XML ConverterConvert CSV rows to well-formed XML with your own root tag. Special characters escaped, delimiter detected, UTF-8 output. Up to 20 files at once.
- Excel to CSV ConverterConvert Excel workbooks (XLS, XLSX, XLSM) to CSV with every sheet as its own file, comma or semicolon delimiters and UTF-8 that Excel reopens cleanly.
- Excel to JSON ConverterConvert Excel sheets to JSON online: header row becomes keys, each row an object, dates written as ISO strings. XLSX, XLS, ODS and Numbers accepted.
- Excel to SQL ConverterTurn an Excel sheet into a SQL script for MySQL, PostgreSQL, SQLite or SQL Server. Headers become columns, rows become INSERT statements.
- Excel to VCF ConverterConvert an Excel contact list to a .vcf vCard file and import it into an iPhone, Android, Google Contacts or iCloud. XLSX, XLS, ODS and Numbers accepted.
- Excel to XML ConverterConvert an Excel sheet to XML without XML maps or the Developer tab. Each row becomes a record, each header a tag. XLSX, XLS and ODS input.
- HTML to CSV ConverterConvert tables in a saved web page to CSV for Excel or Google Sheets. Clean rows without links, styles or hidden formatting. HTML and HTM files.
- HTML to JSON ConverterConvert an HTML table to JSON: header cells become keys, each table row becomes an object. Upload saved .html or .htm pages, no scraper code needed.
- Image to Base64 ConverterEncode PNG, JPG, GIF, WebP or SVG images as Base64 text with a ready data:image prefix for HTML src, CSS url() or a JSON payload. Up to 20 images at once.
- JSON to Base64 EncoderEncode a JSON file as one line of Base64 for Kubernetes Secrets, CI variables, API payloads and tokens. Byte-for-byte reversible, optional data URI.
- Convert JSON to CSVConvert JSON or JSON Lines to CSV: one row per object, nested fields flattened into columns, UTF-8 with BOM so Excel shows accents correctly. 20 files at once.
- JSON to Excel ConverterConvert JSON or JSON Lines into an Excel XLSX sheet: keys become column headers, each record becomes a row. Up to 20 files per batch, no account needed.
- JSON to HTML Table ConverterConvert JSON to an HTML table: keys become column headers, records become rows. Paste it into a CMS, an email or an internal page. No code needed.
- JSON to TXT ConverterConvert JSON to a plain text file: one record per line, fields split by tabs or any delimiter you pick. Opens in Notepad, Excel and command-line tools.
- JSON to XML ConverterConvert JSON to XML online: keys become elements, arrays become repeated elements, all inside a root tag you name. Pretty-printed output, no account.
- JSON to YAML ConverterConvert JSON to YAML online for Kubernetes, GitHub Actions, Compose and Ansible files. Indented, quote-safe output, 20 files per batch, no account needed.
- Numbers to CSV ConverterConvert Apple Numbers spreadsheets to CSV for store, CRM and bank imports. UTF-8 output, ISO dates, every sheet as its own CSV. Works on any device.
- Numbers to Excel ConverterConvert an Apple Numbers spreadsheet to an Excel XLSX workbook that opens on Windows, in Google Sheets and in office portals. Every sheet kept, no Mac needed.
- ODS to XLSX ConverterConvert ODS spreadsheets from LibreOffice or OpenOffice Calc to XLSX for Excel users and upload forms. All sheets included, up to 20 files, no install.
- Parquet to CSV ConverterConvert Apache Parquet files to CSV online and open them in Excel, Google Sheets or any importer. No Python, Spark or DuckDB needed. Up to 20 files.
- PDF to CSV ConverterPull the tables out of a text-based PDF and save them as a CSV file for budgeting apps, QuickBooks, pandas or a database. Dates in ISO, spaces trimmed.
- PDF to JSON ConverterConvert tables inside a PDF to JSON: each row becomes an object keyed by the column headers, ready for a script, an API or a database. Up to 20 PDFs.
- SQL to CSV ConverterConvert the INSERT statements in a .sql dump to CSV rows you can open in Excel or Google Sheets. MySQL, phpMyAdmin, SQLite and SQL Server dumps.
- TXT to CSV ConverterConvert delimited .txt files to proper CSV online. Tabs, pipes, semicolons or spaces detected automatically, encodings fixed, values quoted per RFC 4180.
- TXT to JSON ConverterConvert a .txt file to JSON: tab, pipe, comma or space separated lines become objects keyed by the first row. Old encodings handled, 20 files at once.
- TXT to XML ConverterConvert a tab, comma, semicolon or pipe-separated .txt file to XML: one element per line, column names as tags, your own root tag. Up to 20 files per batch.
- VCF to CSV ConverterConvert vCard (.vcf) contact files from iPhone, Android, iCloud or Outlook to CSV for Google Contacts, Outlook.com, CRMs and mailing tools. Versions 2.1–4.0.
- VCF to Excel ConverterConvert .vcf contact files to an Excel workbook to sort, dedupe and clean an address book. Phone numbers kept as text, one row per contact, all vCard versions.
- XLS to XLSX ConverterConvert Excel 97–2003 .xls workbooks to .xlsx online. Every sheet carried over, the 65,536-row ceiling lifted, no Excel install needed. Batches of 20.
- XLSX to CSV ConverterTurn an XLSX workbook into a clean UTF-8 CSV for Shopify, WooCommerce, Mailchimp, Salesforce or a database import. Formulas become values; dates in ISO.
- XLSX to XLS ConverterConvert .xlsx workbooks to the legacy .xls format for Excel 2003, older ERP imports and portals that reject XLSX. All sheets kept, 20 files per batch.
- XML to CSV ConverterConvert XML feeds, invoices and system exports to CSV online. Repeating records become rows, child tags become columns. Up to 20 files, 95 MB each.
- XML to Word ConverterConvert XML to Word: repeating records become rows of a table in a .docx file you can print, comment on and send. Elements and attributes become columns.
- XML to Excel ConverterOpen XML invoices, bank statements, product feeds and system exports as an Excel XLSX table. No XML map or Developer tab needed; works for Mac users too.
- XML to JSON ConverterConvert XML to readable JSON: attributes become @ keys, repeated tags become arrays, text stays intact. For SOAP responses, feeds and legacy exports.
- YAML to JSON ConverterConvert .yaml and .yml files to JSON for APIs, validators and tools that only parse JSON. Pretty-printed by default, batches of 20, files deleted in 30 min.