TextArray
100% local

Remove HTML tags

Strip every HTML and XML tag and keep the readable text.

Input
Output

Remove HTML tags

Paste a chunk of HTML and get the readable text back. The tool removes every tag — divs, spans, links, tables, entire documents — and leaves what a reader would actually see. It is the quickest way to lift an article out of a page's source, clean up a CMS or newsletter export, get an honest word count for copy that is still wrapped in markup, or turn a scraped fragment into a plain list.

Four options cover the cases where "strip everything" is too blunt. Decoding HTML entities turns &amp; back into an ampersand, &nbsp; into a space and &#8212; into an em dash, so the text reads properly instead of showing its escape codes. Keeping line breaks gives <br> and block-level tags such as <p>, <li> and <h1> a newline each, so paragraphs stay paragraphs instead of collapsing into one run-on line; switch it off and the remaining text is joined exactly as it stood. The whitelist keeps the tags you name — type "b, i, a" and that formatting survives while everything else goes. Removing script and style contents drops those elements whole, so CSS rules and JavaScript never land in your text. It is on by default, because that is almost always what you want.

Stripping is done by a hand-written scanner, never by putting your HTML into the page, so nothing in the markup can run. Text is treated the way a browser treats it: "5 < 10" stays, comments and doctypes disappear, and a broken tag is dropped rather than half-printed.

Everything happens in your browser and nothing is uploaded, so internal pages, client work and unpublished drafts are safe to paste. Copy the result, download it as a .txt file, or move it back to the input for another cleanup pass.

FAQ

Will my paragraphs survive?
Yes, as long as "Keep line breaks" is on: <br> and block tags such as <p>, <li> and <h1> each become a newline, and paragraphs end up separated by a blank line. Turn the option off and all the text is joined into a single run.
Can I keep some formatting?
Type the tag names into "Keep these tags" — for example "b, i, a". Those tags stay in the output exactly as they were written, attributes included, and everything else is removed.
What happens to CSS and JavaScript?
With "Remove script and style contents" on, script and style elements are dropped together with their code. Turn the option off and only the tags go, which leaves the raw code sitting in your text.
What about text that looks like a tag?
A "<" that is not followed by a tag name is treated as ordinary text, so "5 < 10" is safe. Something like "a<b and b>c" does look like a tag and is removed — exactly as a browser would render it. Escape those comparisons before pasting.
Is my HTML uploaded anywhere?
No. The tool runs entirely in your browser, and your markup never leaves your device.