← Back

Word to TXT

Extract plain text content from a Word document

Only .docx format (Word 2007 and later) is supported — the older .doc format is not. Extraction keeps text only: each table row becomes one line (cells separated by tabs), list items get a '•' or number prefix, and original fonts, colors, images and other formatting are not preserved. Everything runs locally in your browser, and your file is never uploaded.

About Word to TXT

Word to TXT pulls the plain text out of a .docx document. After you choose a file, the page shows all the extracted text, which you can copy with 'Copy all' or save as a text file with 'Download .txt'. Only the text content is kept: each table row becomes one line (cells separated by tabs) and list items get a '•' or '1.' prefix; fonts, colors, images and table borders are not kept. It supports the .docx format used since Word 2007 only. Older .doc files cannot be used directly and must first be re-saved as .docx in Word.

How to use it

  1. Click the dashed box 'Click to select a .docx file' and choose a .docx file.
  2. The page shows 'Extracting text…', then an 'Extracted text' area appears with the document's plain text. Long results scroll inside the box.
  3. Click 'Copy all' to put the full text on your clipboard (the button briefly changes to 'Copied'), or click 'Download .txt' to save a file.
  4. The downloaded file keeps the original name with .doc or .docx removed and .txt added, so 'report.docx' is saved as 'report.txt'.

A worked example from a real test document

We ran a generated .docx test document through the same logic the tool uses (mammoth converts to HTML, then the nodes are walked back into text). The document contained, in order: a Heading 1 '季度报告' (Quarterly Report), a sentence with one bold and one italic word, two bullet items, two numbered items, a two-row, two-column table (姓名, 分数, 小明, 90), and a closing paragraph. The output was: the heading, a blank line, the sentence, a blank line, '• 列表项一' and '• 列表项二' on adjacent lines, a blank line, '1. 第一步' and '2. 第二步', a blank line, '姓名[tab]分数' and '小明[tab]90' on adjacent lines, a blank line, and the closing paragraph. Bold and italic marks disappear and only the words remain; list items now carry a bullet or number; and each table row is one line with tab-separated cells, which usually pastes into Excel or a Word table as rows and columns.

Limits and known behavior

  • Only .docx is supported. An older .doc file or a corrupted file produces the message 'Could not extract text from this file. Please make sure you uploaded a valid .docx file (the older .doc format is not supported).'
  • Text only. Content in images, charts and shapes is not in the result, and fonts, sizes, colors and alignment are all discarded.
  • Paragraphs and headings are separated by a blank line rather than a single line break; items of one list and rows of one table sit on adjacent lines. If you want compact text, tidy it in a text editor.
  • List prefixes are generated by the tool from the list type: bullets always become '•', numbered lists are recounted 1. 2. 3. (honouring the list's start number), and nested lists are indented by two spaces. Custom Word numbering styles (such as 一、 (1) a.) are not kept as they were and become digits or bullets.
  • Each table row becomes one line with tab-separated cells; several paragraphs inside a cell are joined with spaces. Merged cells are padded so columns still line up: a cell with colspan N is followed by N-1 extra empty tab-separated cells, and positions covered by a rowspan below it also get empty cells. A nested table is flattened: the text of its cells is joined with spaces and folded into the parent cell. For example, a first row of 'A (spanning two columns), C' and a second row of 'x, y, z' outputs 'A<tab><tab>C' and 'x<tab>y<tab>z', so the columns line up.
  • Whether headers, footers, footnotes, comments and text boxes appear depends on how the extraction library treats them. We did not verify each of these, so for important documents check the result yourself.
  • Password-protected documents cannot be read.
  • What the result box shows is exactly what gets copied and downloaded. The .txt file is generated by the browser as UTF-8; a very old editor may need you to pick UTF-8 manually for Chinese text.
  • 'Copy all' depends on browser clipboard permission. If the browser refuses, the button gives no message; select the text in the result box by hand or use 'Download .txt' instead.

Why won't my .doc file open?

.doc is the binary format used by Word 2003 and earlier, while .docx has been used since Word 2007. Their internal structure is completely different, and this tool can only parse the latter. The fix is easy: open the file in Word or WPS, choose Save As, pick .docx, and upload that.

Why doesn't my table look like a table in the output?

The tool does not draw table lines, but it keeps the row and column relationship: each row becomes one line and cells are separated by tabs, so pasting into Excel usually splits them into columns. If you need the full table structure (here merged cells are only padded with empty columns, not preserved as merges), use the site's Word to HTML tool, whose output contains table tags.

What happens to images in the document?

They are left out, and no placeholder is inserted. The result is plain text only. If you need the pictures, go back to the original document.

Is the result identical to the original text?

The body text is read in full, and lists get bullet or number prefixes while tables become tab-separated rows, but these are regenerated by the tool and are not Word's own numbering or borders. The output suits reusing content, searching or further editing, but it is not a faithful archive of the layout.

Will a large file make the page freeze?

The file is parsed in your browser, so speed depends on document size and your device. While it works, the page shows 'Extracting text…' and the file picker is disabled until the result is ready. No size limit is set in the code.

Privacy and processing

The file is read into binary data in your browser and processed locally by an extraction library that the page loads on demand. The code contains no request that uploads the document to a server, so its contents do not leave your device. The result lives only in the page's memory and is gone when you close or refresh the page.