Invisible character remover
Paste text from ChatGPT, Claude, Word, or a web page to check it for characters you cannot see: zero-width spaces, narrow no-break spaces, soft hyphens, and hidden tag characters. Each one is marked where it sits, and you copy the text back without them, with Markdown like **bold** turned into text LinkedIn shows if you want. Nothing leaves your browser.
Everything runs in your browser. Nothing you paste leaves this page. Nothing to paste?
Hidden characters
0
Paste text to check it. Each hidden character is listed here and marked where it was.
Where they were
Each tag marks a character you could not see. Tap or hover over one for its name.
How to remove hidden characters from ChatGPT text
- 1
Paste your text
Paste text from ChatGPT, Claude, Word, Google Docs, or a web page into the box. It is checked as soon as it lands.
- 2
See what was hidden
Each hidden character is listed with its name and how many there were, and marked in place under the tool, so you can see exactly where it sat.
- 3
Copy the clean text
Press Copy text and paste the result wherever it is going. The words, line breaks, and emoji are unchanged; only the hidden characters are gone.
Example: cleaning a ChatGPT draft
This is the draft behind “Try an example”: a LinkedIn post with the Markdown a chatbot’s copy button leaves in, plus the kind of hidden characters that copying through web pages and documents picks up. Each tag marks a character you would not see.
| Found | How many | What happened |
|---|---|---|
| Zero-width spaceU+200B | 2 | Removed |
| Soft hyphenU+00AD | 1 | Removed |
| Word joinerU+2060 | 1 | Removed |
| Byte order markU+FEFF | 1 | Removed |
| Narrow no-break spaceU+202F | 1 | Replaced with a normal space |
| No-break spaceU+00A0 | 1 | Replaced with a normal space |
| List markers (- or *) | 3 | Now • |
| Bold markers (**) | 1 | Now bold |
The joiner inside the emoji at the end stays, because without it the emoji falls apart into two.
Which invisible characters it removes
Unicode, the standard behind every character you type, includes characters that take up no space at all, and spaces that look like a normal space but are not one. They exist for good reasons: a no-break space keeps “10 km” on one line, a soft hyphen marks where a long word may break, and a zero-width joiner holds some emoji together. You cannot see any of them, so they come along whenever text is copied.
This is what the remover looks for, and what it does with each one:
| Character | Code | What happens |
|---|---|---|
| Zero-width space | U+200B | Removed |
| Zero-width joiner and non-joiner | U+200D, U+200C | Removed, except inside emoji and between letters that need them |
| Word joiner | U+2060 | Removed |
| Byte order mark | U+FEFF | Removed |
| Soft hyphen | U+00AD | Removed |
| No-break space | U+00A0 | Replaced with a normal space |
| Narrow no-break space | U+202F | Replaced with a normal space |
| Thin, hair, en, and em spaces | U+2000 to U+200A | Replaced with a normal space |
| Direction marks | U+200E, U+200F, and others | Removed, except in Arabic and Hebrew text |
| Tag characters | U+E0000 to U+E007F | Removed, except inside flag emoji |
| Runs of variation selectors | U+FE00, U+E0100, and others | Removed; a single one styling an emoji like ❤️ stays |
| Control characters | U+0000 to U+001F, and others | Removed, except line breaks and tabs |
How to check text for hidden characters
Paste the text into the box above. Checking happens as it lands: the number at the top of the results is how many hidden characters the text has, the list names each kind and how often it appears, and the marked copy underneath shows where each one sits. Nothing changes until you press Copy text, so you can use it purely as an invisible character detector and keep your original.
A result of zero means the text has nothing hidden in it. Some characters are listed as kept, such as the joiner inside an emoji like 👩💻, because the text needs them to display correctly.
How to remove asterisks and Markdown from ChatGPT text
ChatGPT and Claude write in Markdown: **two asterisks** around a phrase make it bold,
### starts a heading, and a dash starts a list item. The chat window shows the formatting, but the
copy button hands over the Markdown itself as its plain text version. LinkedIn does not read Markdown, so in a post
those symbols stay symbols.
Check the Markdown box under the text field. Bold and italic become the Unicode letters the LinkedIn text formatter uses, which is the only styling a LinkedIn post keeps. Headings become bold lines, list dashes become bullets, links become the text followed by the address, and code marks and dividers are removed. A hashtag is not a heading, so #Hiring stays as it is.
What we found in ChatGPT and Claude text
On 23 September 2026 we asked ChatGPT (a temporary chat, default model) and Claude (an incognito chat, Opus 5.5) for the same eight LinkedIn posts, and recorded exactly what each copy button put on the clipboard, along with the text shown on screen.
| In the copied text | ChatGPT | Claude |
|---|---|---|
| Hidden characters | 0 of 8 | 0 of 8 |
Markdown bold (**) | 8 of 8 | 7 of 8 |
| Markdown list dashes | 5 of 8 | 0 of 8 (it wrote • bullets) |
| Em dashes | 7 of 8 | 0 of 8 |
| Curly quotes | 8 of 8 | 0 of 8 |
Neither added a single hidden character, on the clipboard or on screen. The one non-printing character in all sixteen answers was the selector that tells ❤️ to display as an emoji, which belongs to it. What both copy buttons did add was Markdown. Eight answers each is a small sample from one day, so treat it as a snapshot, not a rule.
Does ChatGPT add hidden characters to text?
The question comes from April 2025, when Rumi reported that longer answers from OpenAI’s o3 and o4-mini models contained narrow no-break spaces where ordinary spaces belonged, and suggested they were a watermark. OpenAI said they were not a watermark but a side effect of how the models were trained, and later tests stopped finding them. Our own test above found none, and the full write-up is in Does ChatGPT watermark text?
As of September 2026, OpenAI’s help page on provenance signals lists watermarks for ChatGPT images and audio, not text, and says the goal is to add text under the EU’s Code of Practice on AI-generated content. When that happens, expect it to work the way Claude’s and Gemini’s watermarks do: through which words are picked, not through characters a tool like this could remove.
So a hidden character is not proof that a text came from ChatGPT, and a text without any is not proof that it did not. Hidden characters also come in through ordinary copying: web pages use no-break spaces and soft hyphens to control where lines break, and word processors add their own. Whatever put them there, the list above shows exactly what is in your text.
Why remove hidden characters before posting on LinkedIn
- A word or hashtag with a zero-width space inside it looks whole, but to software it is two pieces of text, so it no longer matches the word it looks like.
- No-break spaces stop a line from wrapping where it normally would, which shows up as awkward line breaks on a narrow phone screen.
- Every hidden character still counts toward LinkedIn’s 3,000-character limit for a post, and the character counter counts them too.
- Tag characters can spell out whole sentences that you cannot see but an AI model reads, a trick that has been used to hide instructions in text people paste into AI tools. Removing them removes anything written that way.
What the invisible character remover does not change
It does not touch a single visible character unless you check the box for dashes and quotes. The words, the line breaks, the emoji, and the bold or italic letters from the LinkedIn text formatter all stay as they were. That also means it does not make AI text read like a person wrote it: detectors judge the wording, and text watermarks, such as Google’s SynthID in Gemini and the one Anthropic added to Claude in August 2026, are carried in word choice, with no hidden characters at all. The AI content detector shows which lines read as generated. For images, the AI metadata remover does the same job for the Content Credentials that put a CR tag on LinkedIn.
Write LinkedIn posts in your own voice
Cleaning a pasted draft fixes the characters. The wording is the harder part, and it is what Depost AI works on: it learns your voice from the posts you have already written, drafts new ones from your analytics, and publishes them through LinkedIn’s official API once you approve them.
Questions
- How do I remove invisible characters from ChatGPT text?
- Paste the text above. Every hidden character is listed with its name and marked where it sat, and Copy text gives you the same text without them. Paste that into LinkedIn, a document, or anywhere else. The words, line breaks, and emoji stay exactly as they were.
- How do I check for hidden characters in ChatGPT text?
- Paste the text above. The number at the top of the results is how many hidden characters it has, each one is listed by name, and a marked copy of your text shows exactly where they are. Nothing is changed unless you press Copy text, so it works as an invisible character detector too.
- Why does ChatGPT text have asterisks in it?
- ChatGPT and Claude write their answers in Markdown, where **two asterisks** mean bold and a dash starts a list item. In our test, the copy buttons on both put that Markdown on the clipboard as the plain text version. LinkedIn does not read Markdown, so wherever the plain text lands in a post, the asterisks show. Check the Markdown box above and bold becomes the bold letters LinkedIn keeps, headings become bold lines, and list dashes become bullets.
- Does ChatGPT put a watermark in text?
- Not yet, by OpenAI’s own account. Its help page on provenance signals lists watermarks for images and audio, and says the goal is to extend them to text under the EU’s Code of Practice on AI-generated content. The hidden character story is older: in April 2025 people found narrow no-break spaces in text from OpenAI’s o3 and o4-mini models, and OpenAI said they were a quirk of training, not a watermark. When text watermarks do arrive, they work through word choice, as Claude’s and Gemini’s already do, not through hidden characters.
- What are hidden characters in AI text?
- Characters that take up no space or look exactly like a normal space: zero-width spaces, zero-width joiners, word joiners, soft hyphens, byte order marks, no-break spaces, and narrow no-break spaces. They are real Unicode characters with real uses in typography and in some languages, which is why they travel through copy and paste without anyone noticing.
- Will removing hidden characters make AI text undetectable?
- No. AI detectors judge the wording, not invisible characters. Text watermarks live in the wording too: Google marks Gemini text with SynthID, and since August 2026 Anthropic marks text from new Claude models the same way, by nudging which word is picked when two would do equally well. Anthropic says plainly that nothing is added to the text and there are no hidden characters. This tool cleans characters, so it does not touch either. If it matters that a post was drafted with AI, the honest fix is to write it in your own words.
- Does it remove em dashes?
- Only if you check the box to replace them. An em dash is a visible character, not a hidden one, so it stays by default. With the box checked, em and en dashes become a hyphen with a space either side, a dash between two numbers becomes a plain hyphen, curly quotes become straight quotes, and the … character becomes three dots.
- Will it break my emoji?
- No. Some emoji are built from several characters held together by an invisible zero-width joiner, like a woman at a laptop, and flags such as Scotland’s are spelled with invisible tag characters. The tool keeps those, and lists them as kept so you can see why. The Unicode bold and italic letters from a LinkedIn text formatter are left alone too.
- Does it work with other languages?
- Yes. Persian, Hindi, and several other scripts need the zero-width non-joiner between some letters, so it is kept there and removed everywhere else. Direction marks are kept in text that has Arabic or Hebrew in it, where they decide which way a line reads, and removed from text that does not.
- Is the Unicode bold from Markdown readable by everyone?
- Mostly. The bold and italic letters are separate Unicode characters, which is how LinkedIn posts get bold at all, but screen readers announce them as mathematical symbols rather than words. Keep them to a heading or a few words, not whole paragraphs.
- Is my text uploaded anywhere?
- No. The text is checked and cleaned in your browser, on this page. Nothing you paste is sent to our servers or saved.
From the blog
All posts
Content CreationDoes ChatGPT Watermark Text? What We Found in 16 AnswersDoes ChatGPT hide a watermark in the text it writes? What OpenAI says, where the hidden character rumor came from, what we found in 16 copied answers from ChatGPT and Claude, and what actually comes along when you paste a draft into LinkedIn.
LinkedIn HacksThe LinkedIn CR Tag: What It Means and How to Remove ItThe CR tag on a LinkedIn image means the file carries Content Credentials. What they say, which tools add them, how to check an image before you post, and how to remove the CR tag without losing quality.
LinkedIn Hacks15 Best LinkedIn AI Tools in 2026, Ranked and PricedFifteen LinkedIn AI tools ranked, with what each one covers beyond writing the post, what it sends from your account without you, how the price scales past one person, and current monthly prices.Next
LinkedIn Text Formatter
Bold, italic, and list formatting that survives the LinkedIn composer, which strips almost everything you paste into it.
AI Content Detector for LinkedIn
Checks a draft for the patterns that make a post read as generated, and names the line that gave it away.
AI Metadata Remover
Checks and removes the C2PA Content Credentials behind LinkedIn’s CR tag, plus EXIF, GPS, and AI prompts, from images and videos, with the pixels left exactly as they were.
Make LinkedIn your
best-performing channel.
Brief your team once. It studies, plans, writes, designs, and schedules. You approve.
Your brief comes with you: once you're set up, it's the team's first job.
7 days free · Strategy in your first 15 minutes · Cancel anytime