Unsichtbare Unicode-Zeichen erkennen und entfernen

Ein Nachschlagewerk für die Zeichen, die in deinem Text stehen, ohne dass du sie siehst: was sie sind, woher sie kommen, was sie kaputt machen — und der genaue Befehl, mit dem du sie in Word, Excel oder VS Code loswirst.

Text prüfen Noch nichts eingefügt
Nichts wird hochgeladen

Ausführlichere Auswertung mit Markierung jeder Fundstelle im Originaltext: zum vollständigen Werkzeug.

Die Zeichen im Einzelnen

Sortiert nach Häufigkeit im Alltag. Springe direkt zu deinem Codepoint:

U+00A0

Geschütztes Leerzeichen wird ersetzt

Das häufigste unsichtbare Problem überhaupt. Es sieht aus wie ein Leerzeichen, verhält sich aber wie ein Buchstabe: Ein Zeilenumbruch darf hier nicht stattfinden. Gedacht ist es für Fälle wie z. B., Dr. Meyer oder 5 kg, wo eine Trennung hässlich wäre.

Das Problem: Für jede Suchfunktion ist es ein völlig anderes Zeichen als das normale Leerzeichen. Du suchst nach „5 kg", der Text enthält „5 kg", und es gibt keinen Treffer — obwohl beides identisch aussieht.

Herkunft
HTML-Quelltext ( ), Word-Autokorrektur, Strg + Umschalt + Leertaste, kopierte Webseiten
Symptom
Suche findet nichts, Excel-Zellen lassen sich nicht addieren, Umbrüche an falscher Stelle
Excel
=WECHSELN(A1;ZEICHEN(160);" ")GLÄTTEN() allein reicht nicht
Word
Suchen und Ersetzen, im Suchfeld ^s eingeben
VS Code
Suche mit Regex-Modus, Muster \u00A0

U+202F

Schmales geschütztes Leerzeichen wird ersetzt

Die schmale Variante des geschützten Leerzeichens, englisch Narrow No-Break Space. DIN 5008 empfiehlt es als „Schmal-Leerzeichen" zwischen Zahl und Einheit, also in 12 % oder 3 °C. Typografisch ist das korrekt — technisch ist es eine Stolperfalle.

Das Problem: Viele Schriftarten enthalten dieses Zeichen gar nicht. Unter Windows in Arial erscheint dann statt eines schmalen Abstands ein leeres Rechteck. Und wie beim normalen geschützten Leerzeichen findet keine Suche den Begriff.

Dieses Zeichen ist auch der Grund, warum Texte aus KI-Chatbots auffällig sind: Mehrere Redaktionen haben berichtet, dass ChatGPT-Modelle es vor Prozentzeichen einstreuen. Ob dahinter Absicht steckt, ist nicht geklärt — technisch ist es ein gewöhnliches Unicode-Zeichen und kein kryptografisches Verfahren.

Herkunft
KI-Chatbots, professionelle Satzprogramme, DIN-konforme Vorlagen
Symptom
Leeres Rechteck statt Abstand, Suche schlägt fehl
Excel
=WECHSELN(A1;UNIZEICHEN(8239);" ")
Word
Suchen und Ersetzen, im Suchfeld ^u8239
VS Code
Regex-Muster \u202F

U+200B

Breitenloses Leerzeichen (Zero Width Space) wird entfernt

Ein Zeichen ohne jede Breite. Es markiert eine Stelle, an der ein langes Wort umbrechen darf, belegt aber selbst keinen Platz. Auf dem Bildschirm ist es vollständig unsichtbar — es gibt kein Symptom, an dem du es mit bloßem Auge erkennen könntest.

Das Problem: Es steckt mitten in Wörtern. Rech​nung und Rechnung sind für den Computer zwei verschiedene Zeichenfolgen. Datenbankabgleiche schlagen fehl, Dubletten werden nicht erkannt, Passwortfelder lehnen die Eingabe ab.

Herkunft
Kopierte Webinhalte, Content-Management-Systeme, automatische Umbruchhilfen
Symptom
Gar keines — sichtbar nur über die Zeichenzählung oder ein Prüfwerkzeug
Word
Suchen und Ersetzen, im Suchfeld ^u8203
VS Code
Regex-Muster \u200B

U+FEFF

Byte-Order-Mark (BOM) wird entfernt

Ein Markierungszeichen am Dateianfang, das die Zeichenkodierung verrät. In der richtigen Rolle ist es nützlich: Excel erkennt daran, dass eine CSV-Datei UTF-8 ist, und stellt Umlaute korrekt dar. An der falschen Stelle richtet es Schaden an.

Das Problem: Das BOM klebt am ersten Wert der Datei. Aus der Spaltenüberschrift Name wird \uFEFFName, und jeder Abgleich auf den Spaltennamen scheitert. JSON-Parser brechen mit einer Fehlermeldung ab, die auf Zeichen 1 zeigt, wo scheinbar nichts ist.

Herkunft
CSV-Export aus Excel, Windows-Editoren mit Einstellung „UTF-8 mit BOM"
Symptom
Erste Spalte wird nicht erkannt, JSON-Fehler an Position 0, seltsames Zeichen ganz vorn
Python
Kodierung utf-8-sig statt utf-8 beim Einlesen verwenden
VS Code
Unten rechts in der Statusleiste auf die Kodierung klicken, „Save with Encoding" → UTF-8 ohne BOM

U+00AD

Weiches Trennzeichen (Soft Hyphen) wird entfernt

Ein Trennstrich auf Abruf: Er wird nur dann sichtbar, wenn das Wort am Zeilenende tatsächlich umbricht. Steht das Wort mitten in der Zeile, siehst du nichts — vorhanden ist er trotzdem.

Das Problem: Kopierst du solchen Text aus einem Satzprogramm oder PDF, wandern die Trennzeichen mit. Die Wörter sind dann für jede Suche und jeden Abgleich zerstückelt, ohne dass du es siehst.

Herkunft
Satzprogramme, PDF-Exporte, Silbentrennung in Word
Symptom
Wörter werden nicht gefunden, Rechtschreibprüfung meckert grundlos
Word
Suchen und Ersetzen, im Suchfeld ^-
VS Code
Regex-Muster \u00AD

U+200D

Breitenloser Verbinder (Zero Width Joiner) wird entfernt

Der Klebstoff zwischen Emojis. Zusammengesetzte Symbole wie das Familien-Emoji oder Berufsbezeichnungen bestehen aus mehreren Einzelzeichen, die durch diesen Verbinder zu einem Bild zusammengefasst werden.

Zu beachten: Hier ist das Entfernen nicht immer erwünscht. Fällt der Verbinder weg, zerfällt ein zusammengesetztes Emoji in seine Bestandteile. In reinem Fließtext ohne Emojis ist er dagegen ein Fremdkörper, der nichts verloren hat.

Herkunft
Emoji-Eingabe, kopierte Chatnachrichten, soziale Netzwerke
Symptom
Zeichenzahl höher als erwartet, Emojis zerfallen bei der Weiterverarbeitung
Achtung
Bei Texten mit zusammengesetzten Emojis die Regel bewusst abschalten

U+FE0F

Variationsselektor-16 wird entfernt

Ein Steuerzeichen, das dem vorangehenden Symbol vorschreibt, farbig statt schwarzweiß dargestellt zu werden. Viele Zeichen existieren in beiden Formen — als schlichtes Textsymbol und als buntes Emoji.

Das Problem: Es hängt unsichtbar an Symbolen und verfälscht jede Längenberechnung. Bei Zeichenbegrenzungen, etwa in SMS-Systemen oder Datenbankfeldern, zählt es voll mit, ohne sichtbar zu sein.

Herkunft
Emoji-Tastaturen, kopierte Beiträge aus sozialen Netzwerken
Symptom
Text ist länger als gezählt, Feldbegrenzungen werden unerklärlich überschritten
Verwandt
Der gesamte Bereich U+FE00 bis U+FE0F sowie U+E0100 bis U+E01EF

U+2060

Wortverbinder (Word Joiner) wird entfernt

Das Gegenstück zum breitenlosen Leerzeichen: Es verhindert einen Umbruch an dieser Stelle, ohne selbst Platz zu belegen. Es hat U+FEFF in dieser Rolle abgelöst, damit das BOM eindeutig für die Kodierungserkennung reserviert bleibt.

Das Problem: Wie alle breitenlosen Zeichen ist es im Text vorhanden, aber unsichtbar, und zerlegt Wörter für jede maschinelle Verarbeitung.

Herkunft
Automatisierter Satz, technische Dokumentation, Formelsatz
Symptom
Keines sichtbar, Abgleiche scheitern
VS Code
Regex-Muster \u2060

U+202E

Rechts-nach-links-Überschreibung wird entfernt

Ein Steuerzeichen für zweisprachigen Satz: Es kehrt die Leserichtung des folgenden Textes um, damit sich arabische oder hebräische Passagen korrekt in lateinischen Text einfügen.

Das Problem: Es lässt sich missbrauchen. Weil es die angezeigte Reihenfolge von Zeichen umdreht, ohne die tatsächlich gespeicherte zu ändern, kann ein Dateiname so gestaltet werden, dass er auf dem Bildschirm harmlos aussieht, während die Datei etwas ganz anderes ist. In normalem deutschsprachigem Text hat dieses Zeichen nichts zu suchen.

Herkunft
Mehrsprachige Dokumente — oder gezielte Täuschung
Symptom
Text erscheint verdreht, Zeichen stehen in falscher Reihenfolge
Verwandt
Die gesamte Bidi-Gruppe: U+200E, U+200F, U+202A bis U+202E, U+2066 bis U+2069

U+E0000–U+E007F

Tag-Zeichen wird entfernt

Ein Unicode-Bereich, der das gesamte lateinische Alphabet in unsichtbarer Form abbildet. Ursprünglich für Sprachmarkierungen gedacht, heute weitgehend ohne legitime Verwendung.

Das Problem: Damit lässt sich vollständiger Text unsichtbar in anderem Text verstecken. Ein harmlos aussehender Absatz kann eine komplette zweite Nachricht enthalten, die kein Mensch sieht, aber jedes Programm liest. Wenn das Werkzeug hier etwas findet, lohnt ein genauerer Blick auf die Quelle des Texts.

Herkunft
Keine übliche — das Auftreten ist selbst schon das Signal
Symptom
Keines, außer einer unerklärlich hohen Zeichenzahl

Schnellübersicht: Suchen und Ersetzen

Wenn du die Zeichen lieber in deinem eigenen Programm entfernst, statt Text hin- und herzukopieren:

Programm So findest du unsichtbare Zeichen
WordStrg + H, im Suchfeld ^u160, ^u8239 oder ^u8203 — die Zahl ist der Codepoint dezimal
Excel=WECHSELN(A1;ZEICHEN(160);" ") für U+00A0, UNIZEICHEN(8239) für U+202F
VS CodeStrg + F, Regex-Modus einschalten, dann [\u200B-\u200F\u202A-\u202F\u2060\uFEFF\u00A0\u00AD]
Notepad++Suchen, Suchmodus „Erweitert", dann \x{202f}
Pythonre.sub(r"[\u200B-\u200F\u2060\uFEFF\u00AD]", "", text)
Google DocsKein direkter Weg — Text hierher kopieren und bereinigt zurückholen

Häufige Fragen

Warum findet die Suche mein Wort nicht, obwohl es dasteht?

Weil zwischen den Buchstaben oder anstelle des Leerzeichens ein unsichtbares Zeichen steht. Für den Computer ist die Zeichenfolge dann eine andere als deine Suchanfrage, obwohl beide auf dem Bildschirm identisch aussehen. Füge den Text oben ein — wenn die Zählung über null liegt, hast du deine Erklärung.

Kann ich diese Zeichen einfach immer entfernen?

Fast immer, mit zwei Ausnahmen. Zusammengesetzte Emojis brauchen ihre Verbinder, sonst zerfallen sie. Und arabischer oder hebräischer Text braucht seine Bidi-Steuerzeichen, sonst steht er falsch herum. Für deutschsprachigen Fließtext gilt: Sie richten Schaden an und leisten nichts.

Woran erkenne ich, welches Zeichen es ist?

Am Codepoint. Füge den Text in das vollständige Werkzeug ein — dort wird jede Fundstelle im Originaltext farbig markiert und mit ihrer Nummer beschriftet, sodass du sie hier oben nachschlagen kannst.

Verändert das Entfernen meinen Text inhaltlich?

Nein. Alle hier beschriebenen Zeichen sind Formatierungs- und Steuerzeichen ohne eigene Bedeutung. Buchstaben, Umlaute, Ziffern und Satzzeichen bleiben unberührt. Was sich ändern kann, ist die Typografie: Ein geschütztes Leerzeichen wird zum gewöhnlichen, ein Geviertstrich zum Bindestrich.

Anleitungen für einzelne Programme

Die Zeichen oben nachschlagen ist das eine — sie im eigenen Programm loszuwerden das andere. Für die drei häufigsten Fälle gibt es ausführliche Anleitungen: