Hol den unsichtbaren Müll aus deinem Text.
Füg irgendetwas ein. Wir finden Leerzeichen ohne Breite, eingeschmuggelte Tag-Zeichen, ähnlich aussehende Buchstaben und andere Zeichen, die du nicht sehen kannst (auch das KI-Wasserzeichen auf Zeichenebene). Deine Emoji und deinen anderssprachigen Text zerlegen wir dabei nicht.
- Läuft in deinem Browser
- Ohne Anmeldung
- Kostenlos, ohne Limit
- Open Source
Nichts wird hochgeladen. Gesäubert wird auf dieser Seite.
Dein Text wird im Browser analysiert. Klick auf »Text säubern«, dann erscheinen die Ergebnisse darunter.
Standard entfernt nur Zeichen, die du nicht sehen kannst. Maximum schreibt auch sichtbaren Text um (ähnlich aussehende Buchstaben, Anführungszeichen, Striche und Abstände), deshalb ist es eine Entscheidung und keine Voreinstellung.
Erweitert(zusätzliche Eingriffe, standardmäßig aus)
Die Voreinstellung entfernt bereits jedes Zeichen, das unsichtbar ist und nichts leistet: Zeichen ohne Breite, Byte Order Marks, weiche Trennzeichen, unsichtbare Mathe-Operatoren, Bidi-Overrides, frei stehende Tag-Zeichen und Variantenselektoren, Nichtzeichen und weitere Formatsteuerzeichen. Alles hier unten geht darüber hinaus: Es verändert entweder sichtbaren Text, oder es entfernt Zeichen, die eine Aufgabe haben. Deshalb entscheidest du.
Leerraum & Layout
Buchstaben & Satzzeichen
Steuerzeichen
Aggressiv
Klick auf Text säubern, dann zeigen wir dir genau, was sich da versteckt hat: erst in klaren Worten, mit den Codepoints darunter, falls du sie willst.
- Dein Text verlässt diese Seite nieKein Upload, kein Serveraufruf, keine Auswertung dessen, was du einfügst. Schalt dein WLAN ab: Es funktioniert trotzdem.
- Kostenlos, unbegrenzt, ohne KontoKein Zeichenlimit, kein Tageskontingent, keine E-Mail-Hürde vor dem Ergebnis.
- 11 echte Versteckverfahren geknacktBinärcode aus Zeichen ohne Breite, Tag-Schmuggel, Bytes in Variantenselektoren, SNOW-Leerzeichen, Homoglyphen- und NFC/NFD-Binärcode, dazu fünf weitere.
- Dieselbe Engine wie das CLIDas Python-Werkzeug und diese Seite teilen sich ein Regelwerk: Ein Pre-Commit-Check und ein Einfügen im Browser kommen zum selben Ergebnis.
Einfügen, säubern, kopieren.
Das ist schon alles. Der Rest dieser Seite ist freiwillige Lektüre.
Text einfügen
Direkt aus einem Chatfenster, einem PDF, einem Übersetzungswerkzeug, einer KI oder der E-Mail einer Kollegin. Die unsichtbaren Zeichen kommen mit, genau darum geht es.
Auf »Text säubern« klicken
Wir gehen deinen Text Zeichen für Zeichen durch und entscheiden bei jedem verdächtigen, ob es sich versteckt oder arbeitet. Die sichtbaren Wörter bleiben unangetastet.
Die saubere Fassung kopieren
Ein Klick. Wenn du Belege willst, öffne die Fundtabelle: jedes Zeichen mit Position, Codepoint und offiziellem Unicode-Namen.
Dasselbe Reinigen, ohne diesen Tab.
Der Textreiniger oben ist kostenlos und unbegrenzt, und er bleibt es. Diese drei bringen dieselbe Maschine dorthin, wo dein Text ohnehin schon ist: ein Tastendruck, ein Rechtsklick oder ein Befehl.
Ghostchars für den Mac
Eine App in der Menüleiste: Text irgendwo auf deinem Mac markieren, Tastenkürzel drücken, und die saubere Fassung steht an seiner Stelle. Oder reinigen lassen, während du kopierst: Dann ist schon sauber, was du einfügst.
Tastenkürzel und Reinigen beim Kopieren sind 20 Mal pro Woche gratis; das eigene Einfügefeld der App und ihre Berichte werden nie mitgezählt.
Für den Mac holenGhostchars für Chrome
Ein Popup, das einen eingefügten Text auf jeder Website reinigt, und ein Rechtsklick-Menü, das die markierte Stelle direkt ersetzt. Schalte das Reinigen beim Einfügen für die Websites frei, in die du oft etwas einfügst. Dann landet dort die saubere Fassung statt der kopierten.
Popup und Rechtsklick-Menü sind unbegrenzt, auf jeder Website; Reinigen beim Einfügen ist 20 Mal pro Woche gratis. Sie wird über den Chrome Web Store installiert, in Chrome, Edge, Brave, Arc, Opera.
Die Erweiterung ansehenGhostchars in deinem Terminal
Ein npm-Paket mit derselben Maschine: Dateien und Dokumente von der Kommandozeile reinigen, ein Repository in CI an eine Stufe halten und deinem Coding-Agenten die Werkzeuge über MCP geben. Skill-Dateien, ein Claude-Code-Hook und ein Pre-Commit-Block liegen bei.
Kostenlos und unter MIT-Lizenz, Node 22 oder neuer, und nichts verlässt deinen Rechner: Es gibt keinen Netzwerkcode im Paket.
Die CLI ansehenEine Lizenz für alles: $24 einmalig hebt die Wochengrenze bei beiden auf, auf bis zu 3 eigenen Geräten. Alles auf dieser Website bleibt so oder so kostenlos.
Sechs Familien von Zeichen, die du nicht sehen kannst.
Rund 26 verschiedene Zeichentypen, gruppiert nach den Familien, die sich tatsächlich unterschiedlich verhalten.
Zeichen ohne Breite
Brauchen keinen Platz, überleben Kopieren und Einfügen und können eine ganze Nachricht binär kodieren. Der Klassiker, um ein Dokument pro Empfänger zu markieren.
U+200B ZWSP · U+200C ZWNJ · U+200D ZWJ · U+2060 WORD JOINER · U+FEFF BOM
Bidi-Steuerzeichen
Ordnen um, wie Text angezeigt wird. Neben Hebräisch oder Arabisch harmlos; ohne solche Nachbarschaft ein Weg, Quellcode so anzuzeigen, dass er anders kompiliert, als er sich liest.
U+202A-202E · U+2066-2069 · U+200E LRM · U+200F RLM · U+061C ALM
Tag-Zeichen
Ein Schatten-ASCII-Alphabet. Ein kompletter Satz passt in Ebene 14 und wird als absolut nichts dargestellt: der Trick hinter dem ASCII-Smuggling in KI-Assistenten.
U+E0001 · U+E0020-E007E · U+E007F CANCEL TAG
Variantenselektoren
Eigentlich dafür da, eine Emoji- oder Glyphenvariante zu wählen. Frei stehende tragen je ein Byte, und damit hängt man kinderleicht eine lange unsichtbare Nutzlast an jedes beliebige Zeichen.
U+FE00-FE0F · U+E0100-E01EF
Leer- und Trennzeichen
Nicht jedes Leerzeichen kommt von der Leertaste. Ein geschütztes gegen ein normales zu tauschen oder eines am Zeilenende stehen zu lassen, kodiert Bits, die niemand sieht.
U+00A0 · U+2000-200A · U+202F · U+205F · U+3000 · U+2028 · U+2029
Ähnlich aussehende Buchstaben
Das kyrillische а ist kein lateinisches a, aber auf dem Bildschirm sagt dir das nichts. Unsere Tabelle hat 1.513 Einträge, erzeugt aus Unicodes eigener confusables.txt.
U+0430 а · U+043E о · U+0435 е · U+03BF ο · U+0456 і · U+FF41 a
Warum deine Emoji überleben.
Dasselbe Zeichen kann ein Versteck sein oder tragende Struktur. Werkzeuge, die stur nach Codepoint löschen, zerlegen Dinge; Werkzeuge, die auf Nummer sicher gehen, übersehen Dinge. Wir schauen auf die Nachbarn.
Behalten: Es hält die Familie zusammen
U+200D steht zwischen zwei Emoji. Nimm es weg, und das Familien-Emoji zerfällt in drei einzelne Personen. Gleiches Zeichen, gleicher Codepoint, völlig andere Aufgabe.
Entfernt: Es versteckt sich zwischen zwei Buchstaben
Dasselbe U+200D zwischen zwei lateinischen Buchstaben verbindet nichts. Es ist da, um Kopieren und Einfügen zu überleben und ein Bit von jemandes Wasserzeichen zu tragen.
🏴 bleibt eine Flagge
Tag-Zeichen buchstabieren »gbsct« innerhalb der schottischen Flagge. Frei stehende Tag-Zeichen fliegen raus, die innerhalb einer gültigen Flaggensequenz nicht.
Persisch und Hindi behalten ihre Verbinder
Ein Trenner ohne Breite in einem persischen Wort ändert, wie die Buchstaben aneinander anschließen. Löschst du ihn, ist das Wort falsch geschrieben. Wir behalten ihn und sagen dir, dass er da ist.
Hebräisch behält seine Richtungsmarken
Ein RLM neben hebräischem Text leistet echte Layout-Arbeit. Ein RLM mitten im deutschen Fließtext nicht. Beide sind U+200F.
Was dieses Werkzeug nicht kann.
Viele Seiten versprechen, »KI-Wasserzeichen zu entfernen«. Hier ist die Stelle, an der das Säubern von Zeichen ehrlich aufhört, damit du dich nicht auf etwas verlässt, das es nie konnte.
- Statistische Wasserzeichen bleiben, wo sie sind. Verfahren wie Googles SynthID-Text stecken darin, welche Wörter das Modell gewählt hat, nicht in irgendeinem Zeichen. Nichts, was wir entfernen, rührt sie an. Den Text umzuschreiben schon.
- Die Stilometrie bleibt unberührt. Satzrhythmus, Wortschatz und Aufbau sind das, was Detektoren für KI-Texte tatsächlich lesen. Deine Anführungszeichen geradezubiegen ändert daran nichts.
- Verstecke auf Dateiebene sind hier außen vor. Metadaten in einer DOCX, weiße Schrift auf weißem Grund in einem PDF, Kommentare in HTML: Das steckt in der Datei, nicht im Text. Füg den Text ein, dann säubern wir den Text; nimm die ganze Datei mit auf die Seite »Dokumente«.
- Ein Gedankenstrich ist kein Beweis. Wir können typografische Satzzeichen auf Wunsch umwandeln, aber wer gut schreibt, benutzt auch Gedankenstriche. Behandle ihn als Formatierung, nicht als Beleg.
Was wir sehr wohl behaupten: elf veröffentlichte Steganografie-Verfahren auf Zeichenebene, jedes davon im Test geknackt, der sichtbare Text danach Byte für Byte identisch.
Kris Vinters entwickelt und pflegt Ghostchars. Auf der Seite »Über Ghostchars« stehen die Maßstäbe hinter diesen Grenzen.
Was ist ein »KI-Wasserzeichen« eigentlich, und was davon lässt sich entfernen?
Vor allem Leute, die gerade etwas eingefügt haben.
Schreibende & Studierende
Der Text ist durch drei Apps gewandert, bevor er in deinem Dokument gelandet ist. Säubere ihn einmal, damit ein Abgabeportal oder eine Plagiatsprüfung nicht über Zeichen stolpert, die du nie getippt hast.
Übersetzende
CAT-Werkzeuge und maschinelle Übersetzung hinterlassen geschützte Leerzeichen, weiche Trennzeichen und verirrte Richtungsmarken. Säubere die unsichtbare Schicht, ohne die Verbinder anzutasten, die deine Zielsprache braucht.
Verlage & CMS-Teams
Einsendungen kommen aus Word, Docs und E-Mails. Vereinheitliche sie, bevor sie in die Datenbank gehen, und behalte einen Bericht darüber, was sich geändert hat.
Entwickler
Lass --check in einem Pre-Commit-Hook laufen und den Commit scheitern, wenn ein unsichtbares Zeichen oder ein Bidi-Override in Quellcode, Konfiguration oder eine Sprachdatei rutscht.
Security- und KI-Sicherheitsteams
Sieh dir verdächtige Prompt-Injection-Nutzlasten an: den Satz aus Tag-Zeichen, die Codepoints und die genauen Positionen, bevor du entscheidest, was mit der Eingabe passiert.
Alle mit einer seltsamen Datei
Wenn ein Dokument gut aussieht, sich aber seltsam verhält (die Suche findet nichts, die Sortierung spinnt, ein Name passt nicht), füg es hier zuerst ein. Meistens steckt ein Zeichen dahinter, das du nicht sehen kannst.
So sieht es aus
Dieselbe Säuberung an drei Stellen: auf dieser Website, in der Browser-Erweiterung, die einen eingefügten Text direkt in dem Feld säubert, in dem du gerade tippst, und über einen Tastenbefehl auf dem Mac, der die Zwischenablage aus jedem Programm heraus säubert. Alle drei laufen auf deinem eigenen Rechner.
Ansehen
Ghostchars im Web, in Chrome und auf dem Mac
30 Sekunden · Untertitel enthalten
Dieselbe Engine, in deinem Terminal.
strip_invisible.py ist eine einzige Python-Datei ohne Abhängigkeiten. Kein Installationsschritt, kein Paket, dem du vertrauen musst: herunterladen, lesen, ausführen.
# Zeigen, was sich versteckt, ohne etwas zu ändern
python3 strip_invisible.py --show file.md
# An Ort und Stelle säubern und dabei Leerzeichen und Satzzeichen vereinheitlichen
python3 strip_invisible.py -i -s --punct draft.md
# Den Build scheitern lassen, wenn unsichtbare Zeichen ins Repo gelangt sind
python3 strip_invisible.py --check src/**/*.ts
# Dokumente auch: ausgeblendete Abschnitte, nachverfolgte Änderungen, Metadaten, rsids
python3 clean_file.py --show essay.docxExit-Code 1, sobald etwas gefunden wird, passt also direkt in einen Pre-Commit-Hook oder einen CI-Schritt. Jeder Schalter oben unter »Erweitert« entspricht genau einem Flag.
Was man vernünftigerweise fragt.
Wird mein Text irgendwohin hochgeladen?
Nein. Alles läuft als JavaScript auf dieser Seite. Beim Klick auf »Text säubern« geht keine einzige Anfrage an einen Server, und nichts, was du einfügst, wird protokolliert oder gespeichert. Wenn du das nachprüfen willst: Öffne den Netzwerk-Tab deines Browsers, oder trenne einfach die Internetverbindung und nutze die Seite offline.
Zerlegt es meine Emoji?
Mit der Voreinstellung nicht. Verbinder ohne Breite zwischen Emoji, Variantenselektoren, die eine Emoji-Darstellung wählen, und Tag-Zeichen innerhalb von Flaggensequenzen werden alle als tragend erkannt und behalten. Gemeldet werden sie trotzdem, damit du sie siehst. Sie verschwinden nur, wenn du unter »Erweitert« bewusst »Verbinder entfernen, auch wenn sie gebraucht werden« einschaltest.
Funktioniert es mit Arabisch, Hebräisch, Hindi oder Persisch?
Ja, und das ist der Hauptgrund, warum es dieses Werkzeug gibt. Trenner ohne Breite in persischen Wörtern, Verbinder in indischen Schriften und Richtungsmarken neben Text von rechts nach links ändern, wie sich der Text liest, und bleiben deshalb standardmäßig erhalten. Dieselben Zeichen, frei stehend in deutschem Fließtext, werden entfernt.
Kann es ein KI-Wasserzeichen entfernen?
Es entfernt Wasserzeichen auf Zeichenebene, also die Sorte, die Daten in unsichtbaren Codepoints, Leerzeichenmustern oder ähnlich aussehenden Buchstaben versteckt. Es entfernt keine statistischen Wasserzeichen wie SynthID-Text, die in der Wortwahl stecken, und es ändert nichts daran, wie ein Detektor für KI-Texte deinen Text bewertet. Jedes Werkzeug, das etwas anderes behauptet, verspricht zu viel.
Warum steht ein Zeichen in der Liste, wird aber nicht entfernt?
Dafür gibt es zwei Gründe. Entweder ist es tragend, es zu entfernen würde also die Darstellung deines Textes verändern, oder es braucht eine Option, die standardmäßig aus ist, weil sie sichtbaren Text verändert, etwa bei ähnlich aussehenden Buchstaben oder typografischen Anführungszeichen. In beiden Fällen nennt die Fundtabelle genau die Einstellung, die es entfernen würde. Nichts wird stillschweigend übergangen.
Was ist ein ASCII-Smuggling-Angriff?
Unicode hat einen Block von »Tag«-Zeichen (U+E0000-E007F), die ASCII spiegeln, aber als überhaupt nichts dargestellt werden. Eine vollständige Anweisung lässt sich damit schreiben, in ein Dokument einfügen und von einem Sprachmodell lesen, während sie für den Menschen, der das Dokument prüft, völlig unsichtbar bleibt. Frei stehende Tag-Zeichen entfernen wir standardmäßig und zeigen dir, was sie buchstabiert haben.
Was ist der Unterschied zwischen NFC und NFKC?
NFC legt eine einheitliche Schreibweise für Buchstaben mit Akzent fest: é als ein einzelner Codepoint statt als e plus kombinierendem Akzent. Zufällig zwischen beiden Formen zu wechseln ist selbst schon eine Methode, Bits zu kodieren. NFKC geht weiter und faltet zusätzlich Vollbreitenbuchstaben, Ligaturen und Hochgestelltes zu einfachen Entsprechungen, und das ist aggressiver, als die meisten Texte es vertragen.
Gibt es ein Limit, wie viel Text ich säubern kann?
Kein Kontingent, kein Konto. Die praktische Grenze ist dein Browser: ein paar hunderttausend Zeichen sind kein Problem, darüber hinaus passt die Terminal-Fassung besser; sie streamt Dateien und nimmt ganze Verzeichnisse.
Verändert das Säubern, wie mein Text aussieht?
Mit der Voreinstellung nicht: Jedes entfernte Zeichen ist eines, das als nichts dargestellt wird. Genau daran messen wir das Werkzeug: Lass es auf ein Steganografie-Verfahren los, und der sichtbare Text muss Byte für Byte identisch herauskommen. Die Optionen unter »Erweitert« brechen diese Regel absichtlich, und deshalb sagt jede einzelne dazu, was sie verändert.
Was ist daran anders als an Suchen und Ersetzen?
Suchen und Ersetzen löscht jedes Vorkommen eines Codepoints. So schreddern Werkzeuge Familien-Emoji und persische Rechtschreibung. Dieses hier entscheidet pro Vorkommen anhand der Zeichen links und rechts davon und zeigt dir die Begründung für jede Entscheidung mit Zeilen- und Spaltennummer.