Niewidoczne znaki w tekstach ChatGPT: test 8 modeli AI i znak wodny textGrain (2026)
Nasz test 8 modeli AI (GPT-5.6, o3, Claude, Gemini, DeepSeek, Grok, Mistral): czy wstawiają niewidoczne znaki, jak działa znak wodny OpenAI textGrain i jak w 5 minut sprawdzić tekst przed publikacją.
ChatGPT i inne modele AI nie wstawiają dziś do tekstu niewidocznych znaków: w naszym teście 8 modeli dało 242 odpowiedzi, 264 831 znaków, i ani jednego U+200B, U+202F czy miękkiego dywizu. Historia o „ukrytych znakach wodnych ze spacji” narodziła się wiosną 2025 roku i od tamtej pory żyje niezależnie od faktów. Prawdziwy znak wodny OpenAI pojawił się dopiero 5 października 2026 roku, nazywa się textGrain i jest ukryty nie w znakach, lecz w doborze słów, więc żaden „czyściciel Unicode” go nie widzi ani nie usuwa. Poniżej nasz pomiar, dane OpenAI o odporności znaku i lista kontrolna tekstu przed publikacją.
W skrócie
- Niewidocznych znaków nie ma. 242 odpowiedzi ośmiu modeli (GPT-5.6 Luna, GPT-4o, o3, Claude Sonnet 5.5, Gemini 3.8 Flash, DeepSeek V4.1 Flash, Grok 4.7, Mistral Large 4): zero znaków formatujących Unicode i zero niestandardowych spacji. Również w 63 odpowiedziach na zadania z liczbami, walutami i datami, czyli tam, gdzie wcześniej znajdowano U+202F.
- Znak wodny OpenAI istnieje, ale siedzi w słowach. textGrain lekko przesuwa dobór słów i tworzy wzorzec statystyczny. Według OpenAI tekst bez zmian jest wykrywany w około 92% przypadków, po zastąpieniu 25% słów synonimami tylko w 17%.
- Co naprawdę zdradza tekst AI. Długi myślnik w angielskim, „inteligentne” cudzysłowy, resztki Markdown. Nic z tego nie jest dowodem.
- Skąd więc niewidoczne znaki w Twoich tekstach. Najczęściej z kopiowania: strony internetowe, komunikatory, edytory tekstu, emoji. Sprawdzisz i usuniesz je w minutę.
Skąd wzięła się historia o „ukrytych spacjach”
W kwietniu 2025 roku amerykański startup Rumi, który tworzy narzędzia dla uczelni, poinformował, że w tekstach modeli o3 i o4-mini pojawia się wąska twarda spacja U+202F. Wygląda jak zwykła spacja, ale ma inny kod, więc proste wyszukiwanie ją znajduje. Wiadomość szybko zamieniła się w „OpenAI potajemnie oznacza teksty”, a w sieci pojawiły się dziesiątki „usuwaczy znaku wodnego ChatGPT”.
Oficjalnego oświadczenia OpenAI, że był to znak wodny, nie znaleźliśmy. Jest też bardziej przyziemne wyjaśnienie: według zasad typografii wąską twardą spację stawia się między liczbą a jednostką, między inicjałami i przed niektórymi znakami w części języków. Model mógł nauczyć się tego z tekstów treningowych. Sam Rumi określał zresztą to odkrycie jako najpewniej tymczasowe.
Osobno przetestowaliśmy o3: 19 odpowiedzi, w tym zadania z kwotami, procentami i datami. U+202F nie pojawiła się ani razu. Czymkolwiek to było wiosną 2025 roku, teraz tego nie ma.
Co zmieniło się w październiku 2026: znak wodny textGrain
5 października 2026 roku OpenAI ogłosiła textGrain, znak wodny dla tekstu. Najważniejsze z ogłoszenia (według publikacji BleepingComputer z tego samego dnia):
- Jak działa. Model lekko przesuwa wybór między pasującymi słowami i fragmentami słów. Powstaje wzorzec statystyczny, którego czytelnik nie zauważa, a detektor znajduje. Znak nie dodaje ukrytych znaków, niewidocznych spacji ani nietypowej interpunkcji, więc przy kopiowaniu nic „dodatkowego” się nie przenosi.
- Gdzie jest włączony. W ChatGPT i Codex dla użytkowników z Unii Europejskiej we wszystkich planach, wdrażanie w ciągu kilku tygodni. W API na całym świecie włącza go deweloper w ustawieniach projektu lub organizacji, domyślnie jest wyłączony.
- Kto może sprawdzić. Detektor otrzymują na razie tylko zatwierdzeni badacze i organizacje eksperckie, na wniosek. Publicznego sprawdzania „na textGrain” nie ma, a każda usługa, która dziś je obiecuje, mówi nieprawdę.
- Czego znak nie dowodzi. OpenAI wprost pisze, że brak wykrytego znaku nie dowodzi, że tekst napisał człowiek. Wykryty znak też nie mówi, kto wygenerował tekst ani jak bardzo był potem edytowany.
Dane o odporności są uczciwe i wymowne. Dla odpowiedzi o długości 400 tokenów (około 300 słów) znak jest wykrywany w mniej więcej 92% przypadków. Zastąpienie 10% słów synonimami obniża wykrywalność do 66%, zastąpienie 25% do 17%. Krótkie, mocno przepisane i przetłumaczone teksty, według OpenAI, sprawdza się źle, a w matematyce, gdzie model ma mało swobody w doborze słów, znak jest słabszy.
Podobnie działa Google: SynthID Text dodaje statystyczny znak do doboru słów, a w 2024 roku Google udostępniło jego kod. Dlaczego takie znaki pojawiają się właśnie teraz i właśnie w UE: unijny akt o AI (AI Act, art. 50) wymaga od dostawców systemów generatywnych oznaczania treści syntetycznych w formacie nadającym się do odczytu maszynowego, a publikacje łączą start textGrain właśnie z tym.
Nasz test: jak sprawdzaliśmy
26 października 2026 roku daliśmy ośmiu modelom identyczne zadania i policzyliśmy w odpowiedziach wszystkie nietypowe znaki. Modele wywoływaliśmy przez API (OpenRouter), temperatura 0,7, bez instrukcji systemowych:
- Modele: GPT-5.6 Luna, GPT-4o i o3 (OpenAI), Claude Sonnet 5.5 (Anthropic), Gemini 3.8 Flash (Google), DeepSeek V4.1 Flash, Grok 4.7 (xAI), Mistral Large 4.
- Zadania: sześć typowych tekstów na stronę i do maila (wstęp do artykułu, porada o wyborze hostingu, opis produktu, mail do klienta, wskazówki do meta description, plusy i minusy pracy zdalnej) po rosyjsku i angielsku, każde dwukrotnie. Do tego cztery zadania z liczbami, walutami, jednostkami i datami, gdzie wąska spacja pojawiłaby się w pierwszej kolejności.
- Co uznawaliśmy za niewidoczne: wszystkie znaki formatujące Unicode (kategoria Cf: U+200B, U+200C, U+200D, U+2060, U+FEFF, znaki sterujące kierunkiem tekstu i inne), miękki dywiz U+00AD oraz każdą spację inną niż zwykła: twardą U+00A0, wąską U+202F, cienką U+2009 i pozostałe.
- Osobno liczyliśmy „typografię”: długie myślniki, „inteligentne” cudzysłowy, Markdown.
Razem 242 odpowiedzi (większość odpowiedzi Qwen wróciła pusta, więc usunęliśmy go z próby; dla o4-mini dostawca zwrócił błąd). To nie jest próba milionowa, ale na pytanie „czy modele wstawiają niewidoczne znaki” wystarcza: gdyby znak pojawiał się choćby w co dwudziestej odpowiedzi, zobaczylibyśmy go z prawdopodobieństwem powyżej 99,9%.
Wynik 1: żaden model nie wstawia niewidocznych znaków
Zero na 242. Ani jednego znaku o zerowej szerokości, ani jednego miękkiego dywizu, ani jednej twardej czy wąskiej spacji, także w 63 odpowiedziach z kwotami („$6.2 million”, „4,5 млн долларов”), procentami, temperaturami i datami. Żaden model, łącznie z o3, nie stawia sam spacji „zgodnie z zasadami typografii”.
Ważne zastrzeżenie: sprawdzaliśmy odpowiedzi API, czyli tekst, który model zwraca deweloperowi. Czat w przeglądarce dodaje do niego formatowanie, a dalej wszystko zależy od tego, gdzie i jak kopiujesz. To właśnie na tym etapie, a nie w samym modelu, do tekstu najczęściej trafia „niewidoczne”. O tym niżej.
Wynik 2: prawdziwe ślady widać gołym okiem
Jeśli coś zdradza tekst AI, to widoczne nawyki. Najczęściej dyskutowany z nich to długi myślnik.
Kluczowe jest porównanie w obrębie jednego języka. W rosyjskim długi myślnik to zwykła interpunkcja, stawia go każdy poprawnie piszący autor, więc 58% rosyjskich odpowiedzi z myślnikiem o niczym nie świadczy. W angielskim em dash jest rzadszy i tam różnice między modelami są wyraźne: od 0% u Claude Sonnet 5.5 do 44% u Mistral Large 4 i o3. Ale i to styl, a nie dowód: wielu ludzi pisze z myślnikiem z własnego wyboru.
Drugi nawyk to „inteligentne” cudzysłowy w angielskim tekście (“…” zamiast "…"). GPT-5.6 Luna stawia je w 10 odpowiedziach na 16, o3 w 7 na 9, a Claude Sonnet 5.5 ani razu. Trzeci to Markdown.
Gwiazdki i krzyżyki same w sobie są nieszkodliwe, ale jeśli tekst kopiuje się nie z czatu, tylko z odpowiedzi API lub usługi pośredniczącej, zostają w tekście bez zmian: „**Ważne:**” w środku akapitu zdradza generowanie lepiej niż jakikolwiek detektor.
Skąd więc niewidoczne znaki w prawdziwych tekstach
Nasz detektor ukrytych znaków tylko od 13 do 26 października sprawdził ponad 600 tekstów, a nietypowe znaki w prawdziwych tekstach pojawiają się regularnie. Sądząc jednak po naszym teście, nie pochodzą z modelu, tylko trafiają do tekstu po drodze:
| Znak | Kod | Skąd zwykle się bierze | W czym przeszkadza |
|---|---|---|---|
| Twarda spacja | U+00A0 | Kopiowanie ze stron ( ), Word i Google Docs, autokorekta przed znakami | Zwykle w niczym; psuje wyszukiwanie i porównywanie ciągów |
| Spacja o zerowej szerokości | U+200B | Kod stron (łamanie długich słów), niektóre komunikatory i CMS-y | Słowo wygląda tak samo, ale wyszukiwanie go nie znajduje; w adresie strony daje inny URL |
| Łącznik o zerowej szerokości | U+200D | Emoji złożone z kilku części (rodzina, flagi, zawody) | Zostaje jako „ogon”, jeśli emoji nie usunie się w całości |
| Znaczniki kierunku | U+200E, U+200F, U+202A–U+202E | Teksty łączące języki o różnym kierunku pisma | Dziwna kolejność znaków, psują kopiowane adresy i kod |
| Znacznik kolejności bajtów | U+FEFF | Pliki zapisane jako UTF-8 z BOM (stary Notatnik Windows, eksporty) | Psuje JSON, CSV i konfiguracje, gdy stoi na początku pliku |
| Miękki dywiz | U+00AD | Automatyczne dzielenie wyrazów w edytorach i składzie | Rozdziela słowo przy wyszukiwaniu i liczeniu słów |
Więcej o każdym znaku i o tym, jak znaleźć go ręcznie, w poradniku „Ukryte znaki wodne i niewidoczne symbole w tekście”, a porównanie darmowych narzędzi w przeglądzie „Niewidoczne znaki w tekście: najlepsze darmowe narzędzia”.
Czy to ma znaczenie dla SEO
Dla pozycji sam fakt generowania nie jest decydujący. Zaktualizowane 1 października 2026 roku wytyczne Google o treściach AI kładą nacisk gdzie indziej: treść ma być pomocna, a fakty w tekście wygenerowanym przez AI trzeba sprawdzić ręcznie przed publikacją, łącznie z metadanymi. Google nie informowało, że wyszukiwarka szuka w tekstach niewidocznych znaków czy znaków wodnych AI.
Niewidoczne znaki szkodzą inaczej, czysto technicznie:
- W tytułach i meta tagach znak o zerowej szerokości sprawia, że ciąg jest „inny”: duplikaty nie są wykrywane, wyszukiwarka na stronie nie działa, a skopiowany tekst z wyników zawiera śmieci.
- W adresach i kotwicach U+200B zamienia się w
%E2%80%8B, a link prowadzi pod inny adres, zwykle na 404. - W znacznikach i plikach BOM na początku JSON-LD, pliku CSV czy konfiguracji psuje całe parsowanie.
- W treści artykułu miękkie dywizy i spacje o zerowej szerokości przeszkadzają w wyszukiwaniu na stronie, liczeniu słów i sprawdzaniu unikalności.
Dlatego tekst warto czyścić nie „ze znaków wodnych ChatGPT”, tylko w ramach zwykłej higieny przed publikacją, niezależnie od tego, kto go napisał.
Lista kontrolna: sprawdź tekst przed publikacją w 5 minut
Znajdź niewidoczne znaki
Wklej tekst do detektora ukrytych znaków. Pokaże każdy nietypowy znak z kodem i pozycją, a nie tylko „coś znaleziono”.
Usuń zbędne, zostaw potrzebne
Wyczyść tekst w usuwaczu niewidocznych znaków. Twarda spacja między liczbą a jednostką („10 km”) jest jak najbardziej na miejscu, a spacje o zerowej szerokości i BOM w tekście na stronę są niepotrzebne.
Usuń resztki Markdown
Wyszukaj w tekście **, ## i wiersze zaczynające się od - . Jeśli tekst trafia do CMS jako zwykły akapit, znaczniki pozostaną widoczne.
Dopasuj typografię do swoich zasad
Zdecyduj raz dla wszystkich tekstów: jakie cudzysłowy, jaki myślnik, czy używasz twardych spacji. Nie usuwaj myślników tylko dlatego, że „używa ich AI”: usuniesz styl, a nie odcisk palca.
Sprawdź fakty ręcznie
Tego Google oczekuje od tekstów tworzonych z pomocą AI: liczby, daty, nazwy i cytaty porównuje się ze źródłem przed publikacją. Żaden detektor nie zastąpi tego kroku.
Czego nie robić
Jeśli trzeba sprawdzić obraz, wideo lub dźwięk, to inna historia: tam działają metadane C2PA i SynthID. Omówiliśmy ją w artykule „Detektor znaków wodnych AI: SynthID, C2PA i metadane”.
Pytania i odpowiedzi
Czy ChatGPT dodaje do tekstu niewidoczne znaki?
W naszym teście z 26.10.2026 nie: 242 odpowiedzi ośmiu modeli, w tym GPT-5.6, GPT-4o i o3, bez ani jednego znaku o zerowej szerokości czy specjalnej spacji. Znak wodny OpenAI textGrain działa przez dobór słów i według firmy nie dodaje znaków.
Czy można sprawdzić tekst pod kątem znaku wodnego textGrain?
Jeszcze nie. OpenAI udostępnia detektor tylko zatwierdzonym badaczom i organizacjom. Usługi obiecujące takie sprawdzenie w rzeczywistości szukają niewidocznych znaków albo oceniają styl.
Skąd w moim tekście znaki U+200B i U+00A0, skoro ich nie wpisywałem?
Najczęściej z kopiowania: ze stron internetowych, komunikatorów, Worda i Google Docs. U+200D przychodzi razem ze złożonymi emoji. Sprawdzisz i usuniesz je darmowym detektorem ukrytych znaków.
Czy długi myślnik zdradza tekst AI?
Sam w sobie nie. W naszym teście modele użyły go w 23% odpowiedzi angielskich i 58% rosyjskich, gdzie myślnik to zwykła interpunkcja. Niektóre modele używają go znacznie częściej niż inne, ale to nawyk stylistyczny wielu ludzi, a nie dowód.
Czy Google obniża pozycje tekstów napisanych przez AI?
Google ocenia przydatność i dokładność, a nie sposób powstania treści. Od 1 października 2026 roku jego wytyczne wprost mówią, że fakty w tekście wygenerowanym przez AI trzeba sprawdzić ręcznie przed publikacją. Google nie informowało o szukaniu niewidocznych znaków czy znaków wodnych AI.
Źródła: test PromoPilot z 26.10.2026 (8 modeli, 242 odpowiedzi przez OpenRouter API); BleepingComputer, „OpenAI is adding invisible watermarks to ChatGPT and Codex text in the EU”, 05.10.2026; centrum pomocy OpenAI, „Provenance signals in OpenAI-generated content”; publikacje o odkryciu Rumi, kwiecień 2025; Rozporządzenie (UE) 2024/1689 (AI Act), art. 50; wytyczne Google Search Central dotyczące treści AI, wersja z 01.10.2026. Materiał przygotował zespół PromoPilot.