Add your XLSM file
Drop one or more .xlsm files onto the converter above, or browse for them. They load into browser memory only — nothing is uploaded, so there is no size-based pricing and no server queue.
Converting a .xlsm file to .tsv extracts the document's content from its office package into a portable form. Free, private, and validated — the file never leaves your browser.
Batch files can each use a different output. Nothing uploads for local conversions.
Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.Converting a .xlsm file to .tsv extracts the document's content from its office package into a portable form. An .xlsm file is a Microsoft Excel workbook that is allowed to carry VBA macros. The grid itself is stored exactly as in an .xlsx package — SpreadsheetML worksheets plus a shared-string table — with one extra part holding the compiled macro project.
A .tsv file stores a table as plain text with one record per line and a tab character between columns. It is CSV's stricter sibling: because literal tabs almost never occur inside data, most TSV files need no quoting rules at all. For this route the practical draw is trivially parseable — split each line on tab, no state machine required and pastes directly into and out of Excel and Google Sheets, because spreadsheet clipboards already speak tabs — balanced against a single stray tab inside a value silently shifts every following column, which is worth knowing before you commit a large batch.
The practical trigger for this conversion is usually a mismatch: with .xlsm, the most heavily abused document format in phishing campaigns. Switching to .tsv buys you trivially parseable — split each line on tab, no state machine required, which is why it is the better fit for database dumps — PostgreSQL's COPY and MySQL's SELECT INTO OUTFILE default to tabs. Because the conversion runs locally, trying it costs nothing but a few seconds of compute on your own machine.
| Aspect | Macro-enabled Excel workbook (.xlsm) | TSV table (.tsv) |
|---|---|---|
| Format type | Text-based — characters and structure, so there is no visual quality loss | Text-based — characters and structure, so there is no visual quality loss |
| How it stores data | same OOXML package as .xlsx: xl/worksheets/sheetN.xml, xl/sharedStrings.xml, styles, and a workbook relationship graph | one record per newline-terminated line, with fields split on the tab character (U+0009) |
| Strongest at | financial models and reporting workbooks with automated refresh or formatting | database dumps — PostgreSQL's COPY and MySQL's SELECT INTO OUTFILE default to tabs |
| Weak spot | the most heavily abused document format in phishing campaigns | a single stray tab inside a value silently shifts every following column |
Drop one or more .xlsm files onto the converter above, or browse for them. They load into browser memory only — nothing is uploaded, so there is no size-based pricing and no server queue.
Select .tsv in the output menu next to each file. The menu only offers targets this engine can genuinely produce, so if TSV is selectable, the route is real and validated.
Press Convert. The package is unzipped in memory and its XML content parsed locally; nothing is uploaded.
Each result is signature-checked before the download unlocks, so a failed encode can never masquerade as a valid TSV file. Outputs keep the original filename with the .tsv extension.
There is no visual quality to lose — xlsm is text-oriented and tsv is text-oriented, so the question is structural fidelity. Text, ordering, and basic structure are preserved; complex layout, embedded objects, and styling beyond the target's model are simplified.
Yes — the .xlsm file is processed inside your browser tab and never uploaded. The package is unzipped in memory and its XML content parsed locally; nothing is uploaded. Close the tab and the file is gone from memory.
Every spreadsheet application imports TSV, command-line tools handle it natively, and any text editor opens it — though column alignment on screen can be misleading. Browsers treat it as downloadable plain text.
It depends on the content: one record per newline-terminated line, with fields split on the tab character (U+0009). Convert one representative file first and compare before batch-processing a large set.
In .xlsm, docProps/core.xml and docProps/app.xml carry author, dates, and the generating application; tabular exports such as CSV keep none of it. Re-encoding through the browser pipeline does not carry embedded metadata into the output, which doubles as a privacy scrub — check the exported file if you specifically need tags preserved.