Generator kodów QR zamienia adres strony, dowolny tekst, adres e-mail, numer telefonu albo dane sieci WiFi na kod gotowy do pobrania w formacie PNG lub SVG. Wszystko liczy się w Twojej przeglądarce - żadne dane nie są wysyłane na nasz serwer i nic nie jest zapisywane. Przy adresach URL możesz od razu dodać parametry UTM, dzięki którym wejścia z ulotki, opakowania czy bilbordu zobaczysz w Google Analytics jako konkretną kampanię, a nie jako ruch bezpośredni.
Dodaj parametry UTM, żeby mierzyć ten kod w Google Analytics
Wejście z ulotki, opakowania albo bilbordu bez parametrów UTM wpada w GA4 do ruchu bezpośredniego i nie da się przypisać go do kampanii. Wypełnij wszystkie trzy pola albo żadne.
Uzupełnij pole oznaczone gwiazdką, aby zobaczyć kod.
Kod jest statyczny: adres jest zapisany w jego strukturze, więc po wydrukowaniu nie da się go podmienić. Nie pośredniczy w nim żaden serwer, dzięki czemu kod nie wygasa, ale też nie zbiera statystyk skanowań.
Co można zakodować w kodzie QR
Kod QR przechowuje tekst, a to, co zrobi z nim telefon, zależy od formatu tego tekstu. Dlatego narzędzie ma pięć zakładek, a każda buduje inny rodzaj zawartości:
- Adres URL - najczęstsze zastosowanie: kod prowadzi na stronę, podstronę oferty albo formularz. Tutaj dochodzi opcjonalne otagowanie parametrami UTM.
- Tekst - dowolny ciąg znaków, także z polskimi literami. Telefon pokaże go po prostu na ekranie, bez otwierania czegokolwiek. Przydaje się na numery seryjne, instrukcje przy stanowisku albo kody rabatowe do przepisania.
- E-mail - kod otwiera aplikację pocztową z wpisanym adresem, a jeśli chcesz, także z gotowym tematem i treścią. Na ulotce albo w stopce faktury oszczędza odbiorcy przepisywania adresu i pozwala z góry oznaczyć zapytanie tematem.
- Telefon - po zeskanowaniu telefon proponuje połączenie. Sensowne na wizytówce, w witrynie lokalu i na oznakowaniu serwisowym.
- Sieć WiFi - kod przekazuje nazwę sieci, rodzaj zabezpieczenia i hasło, więc gość podłącza się bez przepisywania ciągu znaków z kartki. Typowe zastosowanie w kawiarni, poczekalni i wynajmowanym mieszkaniu.
Kody QR z parametrami UTM, czyli jak zmierzyć kampanię offline
To jest część, którą większość generatorów pomija, a która decyduje o tym, czy w ogóle dowiesz się, że kampania zadziałała. Wejście z zeskanowanego kodu przychodzi na stronę bez informacji o źródle, bo nie ma tu żadnej strony odsyłającej - Google Analytics zaliczy je więc do ruchu bezpośredniego, wrzucając do jednego worka z osobami, które wpisały adres z pamięci.
Rozwiązaniem są parametry UTM dopisane do adresu, na który prowadzi kod. Dla ulotki rozdawanej na targach zestaw może wyglądać tak: utm_source=ulotka, utm_medium=qr, utm_campaign=targi-2026. Jeśli testujesz dwa nośniki naraz, rozróżnisz je polem utm_content, na przykład ulotka-a5 i plakat-b1. Od tego momentu w raportach pozyskiwania ruchu widzisz osobną pozycję dla każdego nośnika i możesz porównać koszt druku z liczbą wejść.
Dwie rzeczy warto ustalić z góry. Po pierwsze, trzymaj się jednej konwencji zapisu, najlepiej małych liter bez polskich znaków, bo Analytics traktuje Ulotka i ulotka jako dwa różne źródła. Po drugie, otaguj adres przed wygenerowaniem kodu, a nie po druku - kodu nie da się później poprawić. Jeśli potrzebujesz samych linków bez kodu, użyj generatora linków UTM; oba narzędzia składają adres tą samą metodą, więc wyniki są identyczne.
Poziom korekcji błędów: L, M, Q i H
Kod QR ma wbudowaną nadmiarowość, dzięki której daje się odczytać nawet wtedy, gdy część jego powierzchni jest zabrudzona, zadrapana albo zasłonięta. Specyfikacja ISO/IEC 18004 definiuje cztery poziomy tej korekcji, a każdy odzyskuje inny odsetek uszkodzonych danych: L do około 7%, M do około 15%, Q do około 25% i H do około 30%. Wartości są ustalone w specyfikacji, więc nie różnią się między narzędziami.
Za odporność płaci się miejscem. Im wyższy poziom, tym mniej danych zmieści się w kodzie tej samej wielkości, a więc tym gęstszy będzie kod przy tej samej treści. Gęstszy kod wymaga z kolei większego wydruku albo lepszego aparatu. Praktyczny podział jest prosty: M na ekran i druk na czystym podłożu, Q na etykiety i opakowania, H tam, gdzie kod będzie narażony na zabrudzenie, wilgoć albo częste dotykanie. Poziom L zostawia się na sytuacje, w których liczy się wyłącznie najmniejszy możliwy kod przy sporej treści.
Margines, kontrast i rozmiar druku
Margines to nie ozdoba. Specyfikacja wymaga wokół kodu jasnej ramki o szerokości czterech modułów, czyli czterech najmniejszych kwadracików kodu. Bez niej czytnik nie potrafi odnaleźć granicy symbolu i skanowanie bywa zawodne, zwłaszcza gdy kod przylega do zdjęcia albo do ciemnego tła. Dlatego margines 4 jest tu wartością domyślną, a węższy wybieraj tylko świadomie, gdy jasne tło otacza kod i tak.
Kontrast jest najczęstszą przyczyną kodów, które nie działają w terenie. Czytnik musi rozdzielić moduły ciemne od jasnych, więc modny szary kod na beżowym tle bywa nieczytelny, choć na ekranie wygląda dobrze. Narzędzie liczy kontrast kodu do tła i odmawia wygenerowania, jeśli jest zbyt niski; blokuje też kody jaśniejsze od tła, bo część czytników nie obsługuje odwróconej polaryzacji.
Warto wiedzieć, czym ta kontrola jest, a czym nie. To nasze kryterium operacyjne, liczone ze wskaźnika kontrastu barw podanych w przeglądarce. Norma ISO/IEC 18004 ocenia pokrewny parametr Symbol Contrast według ISO/IEC 15415, ale robi to na podstawie reflektancji wydruku mierzonej przyrządem, czego przeglądarka zrobić nie może. Nasz test jest więc przybliżeniem po stronie bezpiecznej, a nie orzeczeniem o zgodności z normą.
Rozmiar druku dobieraj do odległości skanowania. Zasada praktyczna mówi, że kod powinien mieć bok równy około jednej dziesiątej odległości, z jakiej ma być skanowany: kod na ulotce trzymanej w ręce wystarczy dwucentymetrowy, kod na witrynie czytany z dwóch metrów potrzebuje już około dwudziestu centymetrów. Przy gęstszych kodach, czyli dłuższej treści lub wyższej korekcji, dodaj zapas.
Kod statyczny a kod dynamiczny
To narzędzie tworzy kody statyczne: adres jest zapisany bezpośrednio w strukturze kodu. Zaleta jest zasadnicza - taki kod nie zależy od niczyjego serwera, więc nie wygaśnie, nie zostanie wyłączony razem z cudzą usługą i nie przestanie działać, gdy skończy się abonament.
Ceną jest brak dwóch rzeczy. Adresu nie da się podmienić po wydrukowaniu, a kod nie zbiera statystyk skanowań. Kody dynamiczne, oferowane przez płatne usługi, prowadzą przez serwer pośrednika, który przekierowuje na aktualny cel i po drodze liczy skanowania. Jeśli naprawdę potrzebujesz podmiany celu po druku albo licznika skanowań, potrzebujesz takiej usługi - to narzędzie tego nie zastąpi i nie udaje, że zastępuje. Częściowym obejściem po naszej stronie jest kod prowadzący na własny adres, który sami przekierowujecie, oraz pomiar wejść parametrami UTM.
PNG czy SVG
PNG to obraz o stałej liczbie pikseli, wygodny do wysłania, wstawienia na stronę albo do prezentacji. SVG to grafika wektorowa, która skaluje się bez utraty jakości, więc jest właściwym wyborem do druku i do przekazania grafikowi lub drukarni - ten sam plik nada się na wizytówkę i na baner.
Przy PNG zobaczysz czasem, że zapisany rozmiar jest mniejszy od wybranego, na przykład 504 piksele zamiast 512. To działanie zamierzone: rozmiar modułu zaokrąglamy w dół do pełnych pikseli, żeby krawędzie kwadracików wypadły dokładnie na siatce pikseli. Inaczej przeglądarka rozmyłaby je przy skalowaniu, a rozmyty kod skanuje się gorzej.
Najczęstsze błędy przy kodach QR
- Za mały wydruk - kod na plakacie w rozmiarze z wizytówki nie zeskanuje się z odległości, z jakiej ludzie na ten plakat patrzą.
- Brak marginesu - kod dosunięty do krawędzi zdjęcia albo do ciemnej apli traci jasną ramkę, po której czytnik rozpoznaje granicę symbolu.
- Kod na zdjęciu - tło o zmiennej jasności psuje kontrast lokalnie, nawet jeśli średnio wygląda jasno.
- Skracacz linków - skrócony adres oszczędza kilka modułów, ale uzależnia wydrukowany kod od cudzej usługi. Gdy skracacz zniknie, kod zostaje martwy, a nakład jest już rozdany.
- Brak informacji, co się stanie - sam kod nie mówi nic. Krótkie wezwanie obok, na przykład „zeskanuj, żeby zobaczyć cennik”, wyraźnie podnosi liczbę skanowań.
- Brak testu na kilku telefonach - zanim zamówisz nakład, zeskanuj wydruk próbny przynajmniej dwoma różnymi aparatami, w świetle podobnym do docelowego.
Czego to narzędzie nie robi
- Nie wstawia logo w środek kodu. Logo zasłania moduły i obniża skanowalność, a podniesienie korekcji błędów daje w tej sytuacji złudne poczucie bezpieczeństwa. Kto potrzebuje logo, potrzebuje też testu na wielu czytnikach.
- Nie skraca adresów. Skracacz to trzecia strona i punkt awarii dla wydrukowanego kodu.
- Nie liczy skanowań. Wymagałoby to przekierowania przez nasz serwer, czyli zamieniłoby narzędzie w usługę przechowującą dane o Twoich kampaniach.
- Nie generuje kodów wsadowo z pliku i nie tworzy kodów innych niż QR.
- Nie ocenia, czy kod zeskanuje się na Twoim wydruku. Sprawdzamy kontrast barw i pilnujemy marginesu, ale papieru, farby i światła zmierzyć nie możemy. Wydruk próbny zostaje po Twojej stronie.
Najczęściej zadawane pytania
Czy kod QR z tego generatora wygasa?
Nie. Kod jest statyczny i zawiera adres zapisany bezpośrednio w swojej strukturze, więc działa tak długo, jak długo działa strona docelowa. Nie pośredniczy w nim żaden serwer, który mógłby przestać odpowiadać.
Czy mogę później zmienić adres w wygenerowanym kodzie?
Nie. Adres jest zapisany w samym kodzie, więc jego zmiana wymaga wygenerowania nowego kodu. Tym różni się kod statyczny od płatnych kodów dynamicznych, które prowadzą przez serwer pośrednika i pozwalają podmienić cel po druku.
Jaki poziom korekcji błędów wybrać?
Do zastosowań ekranowych i druku na czystym podłożu wystarczy poziom M. Poziom Q lub H warto wybrać, gdy kod trafia na opakowanie, etykietę albo powierzchnię narażoną na zabrudzenie i zarysowania, bo wyższa korekcja pozwala odczytać kod nawet przy uszkodzeniu części modułów.
Dlaczego generator nie pozwala wybrać dowolnych kolorów?
Czytnik odróżnia moduły ciemne od jasnych na podstawie kontrastu między nimi. Przy zbyt niskim kontraście kod przestaje być czytelny dla części telefonów, a autor dowiaduje się o tym po druku. Dlatego narzędzie blokuje pary kolorów o zbyt niskim kontraście oraz kody jaśniejsze od tła.