Try the Most Accurate AI Detector on the Market
Our patented AI checker is the most accurate detector on the market! Don't believe us? Try it for yourself!
Try for FREE Here!
Free Tools

Invisible Text Detector & Remover

Use this free tool to find and remove all hidden Unicode characters in your text. LLMs like ChatGPT can inject hidden characters like Em-Dash or Zero Width Space into text. This free tool helps identify them and remove the ones you don’t want

Trusted By Industry Leaders
Trusted By Industry Leaders

Introduction

Our text compare tool is a fantastic, lightweight tool that provides plagiarism checks between two documents. Whether you are a student, blogger or publisher, this tool offers a great solution to detect and compare similarities between any two pieces of text. In this article, I will discuss the different ways to use the tool, the primary features of the tool and who this tool is for. There is an FAQ at the bottom if you run into any issues when trying to use the tool.

What makes Originality.ai’s text comparison tool stand out?

Keyword density helper – This tool comes with a built-in keyword density helper in some ways similar to the likes of SurferSEO or MarketMuse the difference being, ours is free! This feature shows the user the frequency of single or two word keywords in a document, meaning you can easily compare an article you have written against a competitor to see the major differences in keyword densities. This is especially useful for SEO’s who are looking to optimize their blog content for search engines and improve the blog’s visibility.

Ways to compare

File compare – Text comparison between files is a breeze with our tool. Simply select the files you would like to compare, hit “Upload” and our tool will automatically insert the content into the text area, then simply hit “Compare” and let our tool show you where the differences in the text are. By uploading a file, you can still check the keyword density in your content.

URL compare

Comparing text between URLs is effortless with our tool. Simply paste the URL you would like to get the content from (in our example we use a fantastic blog post by Sherice Jacob found here) hit “Submit URL” and our tool will automatically retrieve the contents of the page and paste it into the text area, then simply click “Compare” and let our tool highlight the difference between the URLs. This feature is especially useful for checking keyword density between pages!

Simple text compare

You can also easily compare text by copying and pasting it into each field, as demonstrated below.

Features of Originality.ai’s Text Compare Tool

Ease of use

Our text compare tool is created with the user in mind, it is designed to be accessible to everyone. Our tool allows users to upload files or enter a URL to extract text, this along with the lightweight design ensures a seamless experience. The interface is simple and straightforward, making it easy for users to compare text and detect the diff.

Multiple text file format support

Our tool provides support for a variety of different text files and microsoft word formats including pdf file, .docx, .odt, .doc, and .txt, giving users the ability to compare text from different sources with ease. This makes it a great solution for students, bloggers, and publishers who are looking for file comparison in different formats.

Protects intellectual property

Our text comparison tool helps you protect your intellectual property and helps prevent plagiarism. This tool provides an accurate comparison of texts, making it easy to ensure that your work is original and not copied from other sources. Our tool is a valuable resource for anyone looking to maintain the originality of their content.

User Data Privacy

Our text compare tool is secure and protects user data privacy. No data is ever saved to the tool, the users’ text is only scanned and pasted into the tool’s text area. This makes certain that users can use our tool with confidence, knowing their data is safe and secure.

Compatibility

Our text comparison tool is designed to work seamlessly across all size devices, ensuring maximum compatibility no matter your screen size. Whether you are using a large desktop monitor, a small laptop, a tablet or a smartphone, this tool adjusts to your screen size. This means that users can compare texts and detect the diff anywhere without the need for specialized hardware or software. This level of accessibility makes it an ideal solution for students or bloggers who value the originality of their work and need to compare text online anywhere at any time.

Our Free Tool Identifies and Removes Invisible Unicode Text Characters:

This tool lets you easily visualize all hidden Unicode characters in your text and then remove them either strategically (by specific code) or all at once. 

How to use the tool:

  1. Paste in your text
  2. See all hidden Unicode characters in your text and information about what they do
  3. Decide what you want to clean up
    1. Fix all
    2. Remove all invisible characters
    3. Strategically fix specific ones (like remove all Em-Dash and En-Dash) 
  4. Copy your cleaned text

Note that if the text was created by an LLM (ChatGPT, Claude, Gemini etc) it will still be identified as AI-generated by Originality.ai’s AI Detector. 

Key Takeaways:

  • One Click Cleanup - Our free Invisible Text Detector and Remover makes it easy to identify and remove any unicode hidden text characters
  • Privacy Assured - All processing happens locally in your browser; your text never leaves your device.
  • Not a Secret Watermark - LLMs like ChatGPT do inject hidden characters, but it is not for watermarking or nefarious reasons
  • Overuse of Certain Characters - ChatGPT does use several Unicode “hidden” characters a lot (such as the Em Dash)
  • Real Risks Exist - Invisible text characters can cause both security and formatting challenges 
  • Does Not Bypass Detectors - AI Detection remains similarly effective whether the hidden characters are removed or not

All LLMs Do It - All popular LLMs inject hidden characters

What are Unicode Hidden Text Characters?

Hidden Unicode characters, whether subtly visible (em-dashes, smart quotes, no-break spaces) or completely invisible (zero-width spaces, joiners, direction marks) are special code points that don’t behave like plain ASCII. They act as a “digital ink” that reshapes how software wraps lines, splits words, parses data, or matches text, even when you don’t realize they’re there.

Does ChatGPT Watermark Text with Hidden Characters?

No - It has been incorrectly reported that the injection of hidden characters by ChatGPT is their attempt at “watermarking” their outputs. However,  there are 2 reasons that this is very unlikely..

  1. It is incredibly easy to circumvent a watermarking strategy by just removing the characters. The ease at which users can do this would render a watermarking strategy pointless. 
  2. OpenAI has stated it is just “a quirk of large-scale reinforcement learning.”

Does ChatGPT Inject Hidden Characters? 

Yes - LLMs like ChatGPT do inject hidden characters. Many of these characters are harmless formatting characters (like the popular em-dash), while some can cause formatting issues (zero-width space). 

Some of the most common Unicode characters that ChatGPT uses include:

Em Dash

The long dash character ChatGPT frequently inserts—especially in recent model versions (o3, 4 o, 4.1)—to break up sentences or add dramatic pauses.

  • Unicode: U+2014
  • Description: A long horizontal dash wider than a hyphen. Useful in typography for parenthetical breaks, but in code, CSV, or plain-text data it can act like a non-standard character, causing copy/paste or parsing issues.
  • Example: word—word ← visually similar to word-word, yet represents a distinct Unicode code point.

Smart Quotes

The curly “typographer’s” quotation marks that ChatGPT sometimes substitutes for straight quotes.

  • Unicode:
    • Left double quote (U+201C)
    • Right double quote (U+201D)
    • Left single quote (U+2018)
    • Right single quote (U+2019)
  • Description: Curved punctuation intended for print typography. They often appear where a plain straight quote (", ') would be safer—breaking code snippets, CSV files, or Markdown.
  • Example: “hello” or ‘world’

Zero-Width Space

A completely invisible spacing character that may slip into text when copying from ChatGPT or other editors.

  • Unicode: U+200B
  • Description: Adds no visible gap but still separates characters. Can break string matching, URLs, and word counts; causes “why won’t it paste correctly?” problems.
  • Example: word​word ← looks like one word, but a zero-width space sits between the two halves.

Why do LLM’s Use These Hidden Characters?

There are 3 reasons that likely contribute to the increased usage of invisible characters by LLMs:

  1. Training Data Bias: Since LLMs train heavily on professionally edited texts where em dashes and smart quotes are standard, it would have learned to use them more frequently than in everyday writing.
  2. Mimics Formal Tone: LLMs have a bias to sounding formal/authoritative and these characters help it achieve that.
  3. LLM’s Don't Use a Keyboard: The reason we don’t use these invisible characters more is because they are not on any standard keyboard (ASCI, ISO etc). LLMs don’t “write” using a keyboard so it is no extra effort for them to use an invisible character compared to a human writing.

Common Uses and Concerns with Invisible Characters

Why do people use them?

  • Tidy text layout - A zero-width space (U+200B) or soft hyphen (U+00AD) lets writers nudge where a line breaks, so long words don’t dangle awkwardly at the edge of a column.
  • “Spaces” in usernames - Some sites forbid real spaces. Sneaking in an invisible Hangul Filler (U+3164) keeps John Doe readable while still passing the “no-space” rule.
  • Subtle watermarks - Publishers can hide a unique pattern of zero-width marks inside an article. If the text leaks, those invisible dots act like digital fingerprints.

Why do people worry about them?

  • Formatting - Looks the same, acts differently - Two snippets that appear identical may hash or sort differently once hidden characters are factored in, breaking exports, searches, or audit trails.
  • Invisible hiding places for bad code - Attackers can bury malware or secret instructions among zero-width characters; the file compiles or runs, but a human code reviewer sees nothing unusual.
  • Silent prompt tricks on AI - Hidden Unicode can smuggle extra instructions into a chatbot prompt, making the model reveal data or generate harmful content without the user noticing.
  • Your Text Looks AI-generated - If text has a lot of unique formatting that is heavily used by AI (Em Dash etc) it is clear that it was AI-generated which can cause reputational harm.

Table of All Common “Invisible” Unicode Text Characters

Below is a complete list of the most common invisible text characters and how our free tool handles them.

# Unicode Visibility Description Example Replaced With ANSI US Keyboard HTML Windows Typing
1 U+0020 Visible Regular Space word word keep Spacebar   Alt+32
2 U+00A0 Visible No-Break Space word word → space   Alt+0160
3 U+0009 Visible Tab word → word → 4 spaces Tab 	 Alt+9
4 U+000A Visible Line Feed (LF) line1\nline2 keep in double Enter 
 Alt+10
5 U+000C Visible Form Feed  Alt+12
6 U+001C Visible File Separator remove  Alt+28
7 U+000D Visible Carriage Return (CR) remove Enter 
8 U+2000 Visible En Quad → space   Alt+2000
9 U+2001 Visible Em Quad → space   Alt+2001
10 U+2002 Visible En Space → space   Alt+2002
11 U+2003 Visible Em Space → space   Alt+2003
12 U+2004 Visible Three-Per-Em Space → space   Alt+2004
13 U+2005 Visible Four-Per-Em Space → space   Alt+2005
14 U+2006 Visible Six-Per-Em Space → space   Alt+2006
15 U+2007 Visible Figure Space → space   Alt+2007
16 U+2008 Visible Punctuation Space → space   Alt+2008
17 U+2009 Visible Thin Space → space   Alt+2009
18 U+200A Visible Hair Space → space   Alt+200A
19 U+202F Visible Narrow NBSP → space   Alt+202F
20 U+205F Visible Math Space → space   Alt+205F
21 U+3000 Visible Ideographic Space → space   Alt+3000
22 U+1680 Visible Ogham Space Mark → space  
23 U+200B Invisible Zero-Width Space → space ​ Alt+200B
24 U+200C Invisible Zero-Width Non-Joiner remove ‌ Alt+200C
25 U+200D Invisible Zero-Width Joiner remove ‍ Alt+200D
26 U+200E Invisible Left-To-Right Mark remove ‎ Alt+200E
27 U+200F Invisible Right-To-Left Mark remove ‏ Alt+200F
28 U+202A Invisible LTR Embedding remove ‪ Alt+202A
29 U+202B Invisible RTL Embedding remove ‫ Alt+202B
30 U+202C Invisible Pop Directional Fmt remove ‬ Alt+202C
31 U+202D Invisible LTR Override remove ‭ Alt+202D
32 U+202E Invisible RTL Override remove ‮ Alt+202E
33 U+2060 Invisible Word Joiner remove ⁠ Alt+2060
34 U+2061 Invisible Function Application remove ⁡ Alt+2061
35 U+2062 Invisible Invisible Times → "x" ⁢ Alt+2062
36 U+2063 Invisible Invisible Separator → "," ⁣ Alt+2063
37 U+2064 Invisible Invisible Plus → "+" ⁤ Alt+2064
38 U+2066 Invisible LTR Isolate remove ⁦ Alt+2066
39 U+2067 Invisible RTL Isolate remove ⁧ Alt+2067
40 U+2068 Invisible First Strong Isolate remove ⁨ Alt+2068
41 U+2069 Invisible Pop Directional Isolate remove ⁩ Alt+2069
42 U+206A Invisible Inhibit Symmetric Swap remove  Alt+206A
43 U+206B Invisible Activate Symmetric Swap remove  Alt+206B
44 U+206C Invisible Inhibit Arabic Form Shaping remove  Alt+206C
45 U+206D Invisible Activate Arabic Form Shaping remove  Alt+206D
46 U+206E Invisible National Digit Shapes remove  Alt+206E
47 U+206F Invisible Nominal Digit Shapes remove  Alt+206F
48 U+2028 Invisible Line Separator → \n 
 Alt+2028
49 U+2029 Invisible Paragraph Separator → \n\n 
 Alt+2029
50 U+2014 Visible Em Dash word—word keep —
51 U+2013 Visible En Dash pages 1–10 keep –
52 U+2019 Visible Right Single Quote don't → ' ’
53 U+201C Visible Left Double Quote "hello → " “
54 U+201D Visible Right Double Quote hello" → " ”
55 U+2018 Visible Left Single Quote 'hello → ' ‘
56 U+2026 Visible Horizontal Ellipsis wait... → ... …
57 U+00AD Invisible Soft Hyphen remove ­
58 U+034F Invisible Grapheme Joiner remove ͏
59 U+2800 Visible Braille Blank → space ⠀ Alt+2800
60 U+3164 Visible Hangul Filler → space ㅤ Alt+3164
61 U+115F Visible Hangul Choseong Filler remove ᅟ Alt + 115F
62 U+1160 Visible Hangul Jungseong Filler remove ᅠ Alt + 1160
63 U+17B4 Visible Khmer Vowel Inherent AQ remove ឴ Alt + 17B4
64 U+17B5 Visible Khmer Vowel Inherent AA remove ឵ Alt + 17B5
65 U+180B Invisible Mongolian VS-1 remove ᠋ Alt + 180B
66 U+180C Invisible Mongolian VS-2 remove ᠌ Alt + 180C
67 U+180D Invisible Mongolian VS-3 remove ᠍ Alt + 180D
68 U+180E Visible Mongolian Vowel Sep. → space ᠎ Alt + 180E
69 U+FE00 Invisible Variation Selector-1 remove ︀ Alt + FE00
70 U+FE01 Invisible Variation Selector-2 remove ︁ Alt + FE01
71 U+FE02 Invisible Variation Selector-3 remove ︂ Alt + FE02
72 U+FE03 Invisible Variation Selector-4 remove ︃ Alt + FE03
73 U+FE04 Invisible Variation Selector-5 remove ︄ Alt + FE04
74 U+FE05 Invisible Variation Selector-6 remove ︅ Alt + FE05
75 U+FE06 Invisible Variation Selector-7 remove ︆ Alt + FE06
76 U+FE07 Invisible Variation Selector-8 remove ︇ Alt + FE07
77 U+FE08 Invisible Variation Selector-9 remove ︈ Alt + FE08
78 U+FE09 Invisible Variation Selector-10 remove ︉ Alt + FE09
79 U+FE0A Invisible Variation Selector-11 remove ︊ Alt + FE0A
80 U+FE0B Invisible Variation Selector-12 remove ︋ Alt + FE0B
81 U+FE0C Invisible Variation Selector-13 remove ︌ Alt + FE0C
82 U+FE0D Invisible Variation Selector-14 remove ︍ Alt + FE0D
83 U+FE0E Invisible Variation Selector-15 remove ︎ Alt + FE0E
84 U+FE0F Invisible Variation Selector-16 remove ️ Alt + FE0F
85 U+FEFF Invisible Zero-Width NBSP / BOM remove  Alt + FEFF
86 U+FFA0 Visible Half-width Hangul Filler → space ᅠ Alt + FFA0
87 U+FFFC Visible Object Replacement → "[OBJECT]"  Alt + FFFC

Does Adding or Removing Invisible Characters Help Bypass AI Detectors?

No - Our short test below shows that the addition or removal of hidden characters did not change the detectability of AI-generated content. We created 2 pieces of AI content and modified it by adding extra invisible characters, as well as stripping all Unicode characters using our free tool on this page.

The result was that the content was detectable by most tools regardless of the status of Invisible Characters. 

Below are the findings…

Text AI Sample 2 - Extra Invisible Characters had a TON of Hidden Characters!

Getting ChatGPT to intentionally add extra characters resulted in this warning from them…

Do All LLMs Inject Hidden Characters?

Yes - We looked at the same prompt in several popular LLMs to see if Hidden Characters are

Prompt: Write a LinkedIn post about the benefits of formatting LinkedIn posts. 

No model produced an Invisible Character but all relied heavily on formatting with visible Unicode characters. 

Example  ChatGPT 4o:

:

Jonathan Gillham

Founder / CEO of Originality.ai I have been involved in the SEO and Content Marketing world for over a decade. My career started with a portfolio of content sites, recently I sold 2 content marketing agencies and I am the Co-Founder of MotionInvest.com, the leading place to buy and sell content websites. Through these experiences I understand what web publishers need when it comes to verifying content is original. I am not For or Against AI content, I think it has a place in everyones content strategy. However, I believe you as the publisher should be the one making the decision on when to use AI content. Our Originality checking tool has been built with serious web publishers in mind!

Frequently Asked Questions

Do I have to fill out the entire form?

No, that’s one of the benefits, only fill out the areas which you think will be relevant to the prompts you require.

Why is the English so poor for some prompts?

When making the tool we had to make each prompt as general as possible to be able to include every kind of input. Not to worry though ChatGPT is smart and will still understand the prompt.

In The Press

Originality.ai has been featured for its accurate ability to detect GPT-3, Chat GPT and GPT-4 generated content. See some of the coverage below…

View All Press
Featured by Leading Publications

Originality.ai did a fantastic job on all three prompts, precisely detecting them as AI-written. Additionally, after I checked with actual human-written textual content, it did determine it as 100% human-generated, which is important.

Vahan Petrosyan

searchenginejournal.com

I use this tool most frequently to check for AI content personally. My most frequent use-case is checking content submitted by freelance writers we work with for AI and plagiarism.

Tom Demers

searchengineland.com

After extensive research and testing, we determined Originality.ai to be the most accurate technology.

Rock Content Team

rockcontent.com

Jon Gillham, Founder of Originality.ai came up with a tool to detect whether the content is written by humans or AI tools. It’s built on such technology that can specifically detect content by ChatGPT-3 — by giving you a spam score of 0-100, with an accuracy of 94%.

Felix Rose-Collins

ranktracker.com

ChatGPT lacks empathy and originality. It’s also recognized as AI-generated content most of the time by plagiarism and AI detectors like Originality.ai

Ashley Stahl

forbes.com

Originality.ai Do give them a shot! 

Sri Krishna

venturebeat.com

For web publishers, Originality.ai will enable you to scan your content seamlessly, see who has checked it previously, and detect if an AI-powered tool was implored.

Industry Trends

analyticsinsight.net

Frequently Asked Questions

Why is it important to check for plagiarism?

Tools for conducting a plagiarism check between two documents online are important as it helps to ensure the originality and authenticity of written work. Plagiarism undermines the value of professional and educational institutions, as well as the integrity of the authors who write articles. By checking for plagiarism, you can ensure the work that you produce is original or properly attributed to the original author. This helps prevent the distribution of copied and misrepresented information.

What is Text Comparison?

Text comparison is the process of taking two or more pieces of text and comparing them to see if there are any similarities, differences and/or plagiarism. The objective of a text comparison is to see if one of the texts has been copied or paraphrased from another text. This text compare tool for plagiarism check between two documents has been built to help you streamline that process by finding the discrepancies with ease.

How do Text Comparison Tools Work?

Text comparison tools work by analyzing and comparing the contents of two or more text documents to find similarities and differences between them. This is typically done by breaking the texts down into smaller units such as sentences or phrases, and then calculating a similarity score based on the number of identical or nearly identical units. The comparison may be based on the exact wording of the text, or it may take into account synonyms and other variations in language. The results of the comparison are usually presented in the form of a report or visual representation, highlighting the similarities and differences between the texts.

String comparison is a fundamental operation in text comparison tools that involves comparing two sequences of characters to determine if they are identical or not. This comparison can be done at the character level or at a higher level, such as the word or sentence level.

The most basic form of string comparison is the equality test, where the two strings are compared character by character and a Boolean result indicating whether they are equal or not is returned. More sophisticated string comparison algorithms use heuristics and statistical models to determine the similarity between two strings, even if they are not exactly the same. These algorithms often use techniques such as edit distance, which measures the minimum number of operations (such as insertions, deletions, and substitutions) required to transform one string into another.

Another common technique for string comparison is n-gram analysis, where the strings are divided into overlapping sequences of characters (n-grams) and the frequency of each n-gram is compared between the two strings. This allows for a more nuanced comparison that takes into account partial similarities, rather than just exact matches.

String comparison is a crucial component of text comparison tools, as it forms the basis for determining the similarities and differences between texts. The results of the string comparison can then be used to generate a report or visual representation of the similarities and differences between the texts.

What is Syntax Highlighting?

Syntax highlighting is a feature of text editors and integrated development environments (IDEs) that helps to visually distinguish different elements of a code or markup language. It does this by coloring different elements of the code, such as keywords, variables, functions, and operators, based on a predefined set of rules.

The purpose of syntax highlighting is to make the code easier to read and understand, by drawing attention to the different elements and their structure. For example, keywords may be colored in a different hue to emphasize their importance, while comments or strings may be colored differently to distinguish them from the code itself. This helps to make the code more readable, reducing the cognitive load of the reader and making it easier to identify potential syntax errors.

How Can I Conduct a Plagiarism Check between Two Documents Online?

With our tool it’s easy, just enter or upload some text, click on the button “Compare text” and the tool will automatically display the diff between the two texts.

What Are the Benefits of Using a Text Compare Tool?

Using text comparison tools is much easier, more efficient, and more reliable than proofreading a piece of text by hand. Eliminate the risk of human error by using a tool to detect and display the text difference within seconds.

What Files Can You Inspect with This Text Compare Tool?

We have support for the file extensions .pdf, .docx, .odt, .doc and .txt. You can also enter your text or copy and paste text to compare.

Will My Data Be Shared?

There is never any data saved by the tool, when you hit “Upload” we are just scanning the text and pasting it into our text area so with our text compare tool, no data ever enters our servers.

Software License Agreement

Copyright © 2023, Originality.ai

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  1. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Will My Data Be Shared?

This table below shows a heat map of features on other sites compared to ours as you can see we almost have greens across the board!

More From The Blog

Al Content Detector & Plagiarism Checker for Marketers and Writers

Use our leading tools to ensure you can hit publish with integrity!