NewDepost AI 2 is live 🎉Read the update

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.

    How to remove hidden characters from ChatGPT text

    1. 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. 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. 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.

    As pasted
    We cut onboarding from 14 days to 3.NNBSP **Three things changed:**ZWSP - One owner for every new hire - A checklist that lives in the tool, not in a doc - Day-one access to everythingNBSPthey need The “quick win” we expected—automating account setup—barely mattered.SHY The owner did.WJ Credit to our ops team 👩‍💻 #OnboardZWSPing #PeopleOpsBOM
    After Copy text, with Markdown converted
    We cut onboarding from 14 days to 3. 𝗧𝗵𝗿𝗲𝗲 𝘁𝗵𝗶𝗻𝗴𝘀 𝗰𝗵𝗮𝗻𝗴𝗲𝗱: • One owner for every new hire • A checklist that lives in the tool, not in a doc • Day-one access to everything they need The “quick win” we expected—automating account setup—barely mattered. The owner did. Credit to our ops team 👩‍💻 #Onboarding #PeopleOps
    FoundHow manyWhat 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:

    CharacterCodeWhat happens
    Zero-width spaceU+200BRemoved
    Zero-width joiner and non-joinerU+200D, U+200CRemoved, except inside emoji and between letters that need them
    Word joinerU+2060Removed
    Byte order markU+FEFFRemoved
    Soft hyphenU+00ADRemoved
    No-break spaceU+00A0Replaced with a normal space
    Narrow no-break spaceU+202FReplaced with a normal space
    Thin, hair, en, and em spacesU+2000 to U+200AReplaced with a normal space
    Direction marksU+200E, U+200F, and othersRemoved, except in Arabic and Hebrew text
    Tag charactersU+E0000 to U+E007FRemoved, except inside flag emoji
    Runs of variation selectorsU+FE00, U+E0100, and othersRemoved; a single one styling an emoji like ❤️ stays
    Control charactersU+0000 to U+001F, and othersRemoved, 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 textChatGPTClaude
    Hidden characters0 of 80 of 8
    Markdown bold (**)8 of 87 of 8
    Markdown list dashes5 of 80 of 8 (it wrote • bullets)
    Em dashes7 of 80 of 8
    Curly quotes8 of 80 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.

    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