Niewidoczne znaki w tekście: najlepsze darmowe narzędzia do wykrywania i usuwania (2026)
Aby znaleźć niewidoczne znaki w tekście, wklej go do detektora, który pokazuje każdy ukryty znak z kodem Unicode (np. U+200B) i miejscem w tekście, a potem usuń to, co zbędne. Do jednorazowego sprawdzenia wystarczy inspektor online. W plikach i kodzie pewniejszy jest edytor, który podświetla niewidoczne znaki (VS Code, Notepad++), albo wyrażenie regularne. Jeśli tekst jest poufny, wybieraj narzędzia działające w całości w przeglądarce.
Niewidoczne znaki to prawdziwe znaki Unicode, które nie zajmują miejsca na ekranie albo wyglądają jak zwykła spacja: spacja o zerowej szerokości U+200B, łącznik i rozłącznik o zerowej szerokości (U+200D, U+200C), word joiner U+2060, znacznik kolejności bajtów BOM U+FEFF, miękki dywiz U+00AD, twarda spacja U+00A0 i wąska twarda spacja U+202F, znaki kierunku tekstu (U+202A–U+202E, U+2066–U+2069), „puste litery” jak Hangul Filler U+3164 oraz tagi Unicode (U+E0000–U+E007F), w których da się ukryć cały ciąg ASCII. Psują wyszukiwanie, porównywanie ciągów, import CSV, loginy i kod, a przy kopiowaniu wędrują razem z tekstem.
Jak porównywaliśmy
Pięć kryteriów, które mają znaczenie w praktyce i dają się sprawdzić na stronie samego narzędzia:
- Co wykrywa: tylko znaki o zerowej szerokości czy także nietypowe spacje, znaki bidi, tagi i homoglify (podobne litery z innego alfabetu).
- Kod i pozycja: czy widać, jaki to znak i gdzie stoi, czy tylko łączną liczbę.
- Usuwanie: czy zwraca czysty tekst i czy można wybrać, co zostawić (np. łącznik wewnątrz emoji).
- Gdzie przetwarzanie: w przeglądarce, na serwerze usługi czy w zainstalowanym programie.
- Limity i rejestracja: tylko to, co opublikowano.
Nie przyznawaliśmy punktów za „dokładność”: wszystkie te narzędzia patrzą na te same kody Unicode. Różnią się zakresem, sposobem prezentacji i prywatnością.
Porównanie w jednej tabeli (październik 2026)
| Narzędzie | Co wykrywa | Kod i pozycja | Usuwa | Gdzie przetwarzanie | Limity / rejestracja |
|---|---|---|---|---|---|
| PromoPilot: usuwanie niewidocznych znaków | ~50 znaków z listy, wszystkie znaki formatujące (Cf), tagi Unicode, homoglify | Tak: podświetlenie w tekście, kod w podpowiedzi, liczenie według typów | Tak, z opcjami | Przeglądarka | Do 100 000 znaków naraz, bez rejestracji |
| Dekoder invisible-characters.com | Znaki niewidoczne i niedrukowalne | Tak: podświetlenie, kod i nazwa znaku | Nie podano (podgląd) | Przeglądarka, sądząc po kodzie strony | Nie opublikowano |
| SoSci Survey „View non-printable characters” | Każdy znak ciągu | Tak: kod dziesiętny i szesnastkowy każdego znaku | Nie | Ich serwer (wysłanie formularza); deklarują, że tekst nie jest zapisywany | Nie opublikowano |
| gizza.ai Zero-Width Character Cleaner | Zerowa szerokość, BOM, bidi, miękki dywiz; spacje opcjonalnie | Przez znacznik zastępczy, który ustawiasz | Tak | Przeglądarka (WebAssembly) | Nie opublikowano; na stronie reklamy |
| Visual Studio Code | Znaki niewidoczne i mylone z ASCII w edytorze | Tak, podświetlenie w miejscu | Ręcznie lub zamianą regex | Program na komputerze | Bezpłatnie |
| Notepad++ (Windows) | Stała lista: NBSP, spacje Unicode, ZWSP/ZWJ/ZWNJ, bidi, BOM i inne | Tak: ramka z kodem lub skrótem | Ręcznie lub zamianą regex | Program na komputerze | Bezpłatnie |
Narzędzia: co do czego się nadaje
PromoPilot — najlepszy do czyszczenia tekstu z czatbotów, Worda i stron WWW
Nasze narzędzie do usuwania niewidocznych znaków podświetla każdy ukryty znak bezpośrednio w tekście, po najechaniu pokazuje jego kod i nazwę oraz liczy znalezione znaki według typów: zerowa szerokość, sterujące i bidi, nietypowe spacje, podziały wierszy, homoglify. Następnie zwraca czysty tekst do skopiowania. Opcje: zamiana twardych i wąskich spacji na zwykłe, poprawianie mieszanki cyrylicy i łacinki w jednym słowie oraz, jeśli chcesz, zamiana cudzysłowów, myślników i wielokropka na ASCII. Dwa szczegóły, których nie znaleźliśmy gdzie indziej: łącznik wewnątrz emoji, takich jak 👨👩👧, zostaje, żeby emoji się nie rozpadły, a tekst ukryty w tagach Unicode jest odszyfrowywany i pokazywany. Wszystko działa w przeglądarce, do 100 000 znaków naraz, bez konta.
Na tym samym silniku działają jeszcze dwie strony. Czyszczenie tekstu AI dodatkowo usuwa markdown, długie myślniki, emoji i zbędne puste linie, podświetlając każdą zmianę. Strona „Niewidzialny znak” służy do odwrotnego zadania (skopiowania pustego znaku do nicku), ale ma pole szybkiej kontroli: wklej krótki tekst, a zobaczysz, jakie niewidoczne znaki zawiera. Tekst ze strony po adresie URL sprawdzisz w detektorze znaków wodnych w tekście, który działa na naszym serwerze.
invisible-characters.com — najlepszy, by szybko poznać nazwy znaków
Dekoder na invisible-characters.com podświetla niewidoczne i niedrukowalne znaki we wklejonym tekście i pokazuje ich kody oraz nazwy; w znak można kliknąć, by dowiedzieć się o nim więcej. Ta sama strona ma listę kilkudziesięciu niewidocznych znaków z przyciskiem kopiowania. Funkcji czyszczenia nie opisano: użyj dekodera, by zrozumieć, co jest w tekście, a czyść gdzie indziej. Sądząc po kodzie strony, dekodowanie odbywa się w przeglądarce; limitów nie podano.
SoSci Survey — najlepszy do rozbioru ciągu znak po znaku
Narzędzie SoSci Survey wypisuje każdy znak ciągu po kolei z kodem dziesiętnym i szesnastkowym, więc U+00A0 czy U+FEFF od razu widać między zwykłymi literami. Przydaje się przy krótkich ciągach: wartości pola hasła, loginie, nagłówku CSV. Tekst trafia na ich serwer przez formularz; strona zapewnia, że nie zapisuje tekstu, cookies ani adresów IP. Usuwać znaków nie potrafi.
gizza.ai — najlepszy do szybkiego lokalnego czyszczenia z przełącznikami
Zero-Width Character Cleaner od gizza.ai usuwa znaki o zerowej szerokości, BOM, znaki kierunku tekstu i miękkie dywizy — każda grupa ma własny przełącznik — a opcjonalnie zamienia twarde i nietypowe spacje na zwykłe. W polu zamiany możesz wpisać widoczny znacznik, np. [zwsp], w miejsce każdego usuniętego znaku: łatwiej wtedy zobaczyć, gdzie stały. Według usługi przetwarzanie odbywa się w przeglądarce przez WebAssembly i nic nie jest wysyłane. Sama strona ostrzega, że usunięcie łączników o zerowej szerokości rozbija złożone emoji, więc jeśli są potrzebne, wyłącz tę opcję.
Visual Studio Code — najlepszy do kodu i plików konfiguracyjnych
Od wersji 1.63 VS Code domyślnie podświetla rzadkie niewidoczne znaki i znaki łatwe do pomylenia z ASCII. Informacje o wydaniu wspominają o atakach typu „Trojan Source” i uczciwie opisują ograniczenia: podobne znaki wykrywane są heurystycznie, więc nie każdą podmianę da się złapać. Podświetlanie ustawia się parametrami editor.unicodeHighlight.*. Do masowego czyszczenia służy wyszukiwanie i zamiana wyrażeniem regularnym (niżej).
Notepad++ — najlepszy do plików tekstowych w Windows
W Notepad++ opcja View → Show Symbol → Show Non-Printing Characters rysuje każdy taki znak jako małą ramkę z kodem lub skrótem — tak opisuje to podręcznik Notepad++. Tabela w podręczniku obejmuje twardą spację, spacje Unicode, ZWSP, ZWNJ, ZWJ, LRM/RLM, osadzenia i izolaty kierunku tekstu, wąską twardą spację, word joiner i BOM. Miękkiego dywizu i tagów na liście nie ma, więc przy tekście z internetu osobny detektor nadal się przydaje.
Wyrażenie regularne: niewidoczne znaki bez żadnej usługi
W VS Code (wyszukiwanie z włączonym trybem regex) i w większości języków programowania można szukać klasy znaków. Ta klasa obejmuje typowe znaki o zerowej szerokości, miękki dywiz, znaki bidi i BOM:
[\u200B-\u200F\u00AD\u2060\u202A-\u202E\u2066-\u2069\uFEFF]
Dodaj \u00A0\u202F, jeśli chcesz łapać też twarde spacje. W GNU grep to samo wyszukiwanie w plikach wygląda tak (grep w macOS nie obsługuje -P):
grep -nP '[\x{200B}-\x{200F}\x{00AD}\x{2060}\x{FEFF}]' file.txt
Regex znajdzie tylko to, co wymienisz. Homoglifów nie złapie, a łącznik w emoji usunie bez wahania — sprawdzaj wynik.
O „znakach wodnych AI” z niewidocznych znaków
Wiele osób szuka niewidocznych znaków w tekście, bo słyszało, że ChatGPT ukrywa je w odpowiedziach. Potwierdzonego znaku wodnego tego rodzaju nie ma. OpenAI publicznie omawiało statystyczne znaki wodne dla tekstu, ale nie ogłosiło, że ChatGPT oznacza tekst ukrytymi znakami. SynthID Text, którego Google używa w Gemini, to sygnał statystyczny w doborze słów, a nie osobne znaki. Niewidoczne znaki w odpowiedziach AI uczciwiej traktować jako artefakty formatowania i kopiowania: biorą się z typografii, interfejsów WWW, Worda i Dokumentów Google. Warto je usunąć przed publikacją, ale słowa się nie zmieniają, więc nie wpływa to ani na znaki statystyczne, ani na ocenę detektorów AI. Szczegóły w artykule ukryte znaki wodne i niewidoczne symbole w tekście.
Jak wybrać
- Jeden tekst z czatbota, Worda lub strony: wklej do przeglądarkowego narzędzia czyszczącego i skopiuj wynik.
- Musisz dokładnie wiedzieć, co jest w środku (zgłoszenie do supportu, raport błędu): inspektor z kodem każdego znaku — SoSci Survey lub invisible-characters.com.
- Kod, konfiguracje, CSV: otwórz plik w VS Code lub Notepad++ i popraw tam, zamiast wklejać wrażliwe dane na strony.
- Wiele plików: regex w edytorze albo skrypt.
- Tekst poufny: tylko narzędzia działające w przeglądarce lub lokalnie; formularze wysyłające tekst na serwer odpadają.
Czego nasze narzędzia nie robią
- Nie zmieniają tekstu AI w „ludzki” i nie wpływają na wynik detektorów AI: usuwane są znaki, a nie sformułowania. O stylu — w artykule jak czytać wynik sprawdzania tekstu pod kątem AI.
- Nie dowodzą pochodzenia tekstu. Tekst bez niewidocznych znaków może być wygenerowany, a napisany przez człowieka — je zawierać.
- Poprawianie homoglifów działa dla cyrylicy i łacinki (oraz części liter greckich) w obrębie jednego słowa; w innych alfabetach usuwane są tylko niewidoczne znaki.
- Narzędzia przeglądarkowe przetwarzają do 100 000 znaków naraz; dłuższy tekst jest przycinany z ostrzeżeniem. Nie ma wgrywania plików ani trybu wsadowego.
Przeczytaj też: ukryte znaki wodne w tekście, jak usunąć maszynowy styl z tekstu i zestawienie sposobów usunięcia znaku wodnego Gemini.