Skip to content
TextArray
100% local

Remove brackets

Remove bracketed content from text, or just the bracket characters, in one pass.

Input

Remove brackets

Remove brackets strips bracketed content from any text. Paste a paragraph and it deletes each pair — round ( ), square [ ], curly { } and, when you turn it on, angle < > — together with everything inside. It is the fast way to clean up citations like "(Smith, 2019)", editorial notes like "[draft]", inline annotations and templating placeholders that clutter a passage you want to read or publish.

Two modes cover the common jobs. "Brackets and the content inside" is the default: it removes the whole bracketed stretch, so "Result (see appendix) is final" becomes "Result is final". "Only the bracket characters" keeps the words and drops just the symbols, turning "call(arg)" into "callarg" — handy when the brackets are noise but the text between them matters. Toggle each bracket type on its own, so you can remove square brackets while leaving parentheses in place.

Nesting is handled properly. A stack-based scan matches each closer to the nearest opener of its type, so nested pairs like "(a (b) c)" and mixed pairs like "[a (b)]" disappear cleanly from the inside out. An unmatched closing bracket is treated as ordinary text and left alone; an unmatched opening bracket removes only through the end of its line, never across a line break, so a stray "(" can't swallow the rest of the document. The optional "Tidy up spaces" step then collapses the double spaces removal creates, pulls spaces back off punctuation and trims line ends.

Everything runs locally in your browser, so even long documents stay private and process instantly as you type.

FAQ

What is the difference between the two modes?
"Brackets and the content inside" deletes the whole bracketed stretch, so "(note)" vanishes entirely. "Only the bracket characters" removes just the symbols and keeps the words between them.
Does it handle nested brackets?
Yes. A stack-based scan matches each closing bracket to the nearest opener of its type, so nested pairs like "(a (b) c)" and mixed pairs like "[a (b)]" are removed correctly from the inside out.
What happens to an unmatched bracket?
An unmatched closing bracket is left in place as ordinary text. An unmatched opening bracket removes only from itself to the end of that line, never across a line break, so it can never wipe the rest of your text.
What does "Tidy up spaces" do?
After removal it collapses the double spaces the deletion creates, pulls spaces back off punctuation like commas and full stops, and trims trailing spaces. Lines that were not changed are left exactly as they were.
Is my text uploaded anywhere?
No. The text is processed entirely in your browser and never leaves your device.