Your data never leaves your device — 100% local processing

Convert CSV · Excel · JSON · Markdown tables

Drop a file or paste text, pick an output format, done. No install, no sign-up.

0 B uploaded — this page has not sent your files anywhere?

More table converters

All-in-one converterCSV → ExcelExcel → CSVJSON → CSVCSV → JSONRepair broken CSVMarkdown table maker

Your spreadsheet is never uploaded — how?

Most table-conversion sites and sheetmoa work in fundamentally different ways.

🌐 An ordinary converter site
1Upload your CSV or Excel to their server
2Convert it on someone else’s server
3Download the result back

⚠️ Until it is deleted, your customer lists and sales tables sit on someone else’s server.

sheetmoa
🔒 Right in your browser
✓Convert CSV, Excel, and JSON on your own device
✓No server in between (zero upload time)
✓Save or copy the result immediately

✅ Not one byte of your file goes over the network. "0 B uploaded" is a measured value.

⚡ Zero upload waitEven tables with hundreds of thousands of rows start instantly
♾️ No limits or watermarksNo cap on how many times or how big
📴 Works offlineLoad it once and it runs without internet

The spreadsheet work (with technology like SheetJS) runs inside the web page itself, so the more sensitive the table — customer lists, payroll, anything with personal data — the safer this approach is.

When you’d use it

🔄 Matching formatsTurn CSV into Excel or Excel into CSV to fit whatever the other side wants — even when a system accepts only CSV.
💻 Dev and APIsFlatten CSV into a JSON array for API tests, and turn JSON responses back into CSV to check in Excel.
📝 Pasting into docsConvert an Excel table into Markdown and paste it straight into GitHub or Notion.
🩹 Rescuing broken filesDiagnose a CSV with garbled text or everything crammed into one column and set it right.

CSV, Excel, JSON or Markdown: which format should your table be in?

The same table holds different information depending on the format you save it in. This all-in-one converter reads CSV, TSV, XLSX, XLS, ODS and JSON files, or text you paste, and writes Excel (XLSX), CSV, JSON or a Markdown table. Switch the output format and the result is rebuilt on the spot.

A closer look

An XLSX file is a workbook with sheets, formulas and cell formats, which suits a table someone will keep editing. A CSV is plain text, one sheet of values separated by commas. It has no idea that a column holds dates or numbers, so every program that opens it has to guess, but almost every system accepts it, which is why stores and databases ask for it. JSON records a type for every value (number, string, true/false, null), so code and APIs read it without ambiguity, but it can’t hold formatting. A Markdown table is text for documents: GitHub draws it as a table, but nothing in it calculates.

So the same Excel file can come out differently. CSV and Markdown get the text the cell displayed; JSON and XLSX get the value stored in the cell. A 0.125 formatted as 0% becomes 13% in CSV but 0.125 in JSON, and a value a 00000 format showed as 00777 becomes the number 777 in JSON. The output holds only the sheet you have selected. Converting Excel to Excel keeps that sheet’s values, formulas, number formats and merged cells, but drops fonts, colors, borders, column widths and every other sheet, so a formula that pointed to another sheet loses its target.

How to use it

When it helps

Excel to JSONTurn settings or test data kept in a sheet into a JSON array. Numbers arrive as real values whatever their formatting, and dates as 2024-01-05.
JSON straight into ExcelSave an API response as .xlsx without going through CSV. Numbers become number cells and true/false become TRUE/FALSE, so sums and filters work right away.
Old XLS or ODS files to XLSXOpen an old .xls or a LibreOffice .ods one sheet at a time and save it as .xlsx. Formatting isn’t carried over, so this suits tables where the values matter.
Send just one sheetDownload only the sheet you need from a multi-sheet workbook, so your internal sheets stay with you. The sheet keeps its name.

Common snags

Excel shows 13%, but the JSON says 0.125.JSON carries the stored value. If you need the text as it looked, download CSV or Markdown, or build a text column in Excel with the TEXT function and convert that. ID columns whose leading zeros came only from a cell format lose them in JSON for the same reason.
Dates from my JSON don’t sort as dates in Excel.JSON input keeps the types the JSON gave it, so a string like "2024-01-05" becomes a text cell. Integers over 15 digits are also stored as text so their last digits don’t change. To get real dates, select the column and use Data › Text to Columns with the format set to Date (YMD).
Accented letters turned into � or odd symbols.An encoding is the rulebook for writing letters as bytes; read with the wrong one, the same bytes become different letters. This page reads text files as UTF-8 and, if it finds broken characters (�), retries only with Korean EUC-KR. A CSV saved in Windows-1252, which Excel’s plain “CSV (Comma delimited)” option produces on English-language Windows, isn’t repaired, so re-save it as “CSV UTF-8 (Comma delimited)” and load it again. Everything this page writes is UTF-8.
I loaded JSON, downloaded JSON, and it changed shape.Every input becomes a flat table before it is written out, so missing keys are filled with null and nested values turn into quoted strings. To tidy indentation or check syntax, use textmoa’s JSON Formatter instead.

Tip If you always convert in the same direction, a single-purpose page such as CSV → Excel skips the format choice. Repairing a broken CSV, splitting a large one, and saving ID columns so Excel keeps their leading zeros are only on Repair broken CSV.

Frequently asked questions

Which formats are supported?

Input: CSV, TSV, Excel (XLSX/XLS) and JSON. Output: CSV, Excel (XLSX), JSON and Markdown tables. In the paste tab you can paste a cell range copied from Excel — tab-separated data is detected automatically.

Will Excel open the downloaded CSV correctly?

Yes. CSV files from sheetmoa include a UTF-8 BOM, so Excel opens them with all non-ASCII characters intact.

My CSV shows garbled characters

sheetmoa reads your file as UTF-8 first. If it finds broken characters (�), it retries only with the Korean legacy encoding EUC-KR (CP949), which Korean Excel uses by default; old .xls files are also read with code page 949. No other legacy encoding is tried. Files saved as UTF-8 (Excel's "CSV UTF-8 (Comma delimited)") open correctly, but a CSV saved in Windows-1252 (what Excel's plain "CSV (Comma delimited)" produces on Western-language Windows) can show broken accents such as "A�o". If that happens, re-save the file in Excel as "CSV UTF-8 (Comma delimited)" and open it again.

Is my data uploaded to a server?

No. Every conversion runs inside your browser and your file is never sent over the network. Safe even for customer lists and confidential spreadsheets.

Is it free?

Completely free — no limits on file count or size, and no sign-up.