QR-Code erstellen, der immer funktioniert: Größe, Kontrast und Fehlerkorrektur
Wir haben QR-Codes erzeugt, mit Logos verdeckt, den Kontrast gesenkt, sie verkleinert und den Rand entfernt und dann versucht, sie zu lesen. Hier sehen Sie, was einen QR-Code zuverlässig macht und was ihn unbemerkt unbrauchbar macht.
Ein QR-Code auf einem Flyer, einer Speisekarte oder einem Paket hat genau eine Aufgabe: das Richtige zu öffnen, sobald jemand das Handy darauf richtet. Klappt das nicht, versucht es kaum jemand ein zweites Mal. Die meisten Fehler entstehen durch wenige Gestaltungsentscheidungen, und alle lassen sich vor dem Druck testen. Wir haben Codes mit derselben Bibliothek erzeugt, die unser QR-Code-Generator verwendet, und sie mit zwei Open-Source-Decodern gelesen: ZBar 0.23 und OpenCV 5.0.
So speichert ein QR-Code Daten
Der QR-Code wurde 1994 von Denso Wave in Japan entwickelt und ist als ISO/IEC 18004 genormt (aktuelle Ausgabe 2024). Er besteht aus kleinen Quadraten, den Modulen. Die kleinste Version hat 21 × 21 Module; jede der 40 Versionen fügt pro Seite vier Module hinzu, bis 177 × 177. Die drei großen Quadrate in den Ecken zeigen dem Scanner, wo der Code liegt und wie er gedreht ist.
Ein Teil jedes Codes ist Redundanz (Reed-Solomon-Fehlerkorrektur), damit ein beschädigter oder verschmutzter Code lesbar bleibt. Wie viel, wählen Sie selbst:
| Stufe | Wiederherstellbare Daten | Typische Verwendung |
|---|---|---|
| L | etwa 7 % | Saubere Bildschirme, sehr lange Inhalte |
| M | etwa 15 % | Übliche Voreinstellung für Druck und Bildschirm |
| Q | etwa 25 % | Draußen, raue oder gewölbte Oberflächen |
| H | etwa 30 % | Codes mit Logo, harte Bedingungen |
Die Norm verlangt außerdem eine Ruhezone: einen leeren Rand von vier Modulen Breite rund um den Code. Wie unsere Tests zeigen, ist er wichtiger, als er aussieht.
Längerer Inhalt, dichterer Code
Je mehr Zeichen Sie kodieren und je mehr Fehlerkorrektur Sie wählen, desto mehr Module braucht der Code. Wir haben vier typische Inhalte kodiert:
| Inhalt | Zeichen | L | M | Q | H |
|---|---|---|---|---|---|
| Startseiten-URL (https://omid57.eu/) | 18 | 25 | 25 | 25 | 29 |
| Seiten-URL (…/en-US/tools/qr-code-generator) | 47 | 29 | 33 | 37 | 41 |
| Dieselbe URL mit vier UTM-Tracking-Parametern | 128 | 41 | 49 | 53 | 61 |
| WLAN-Zugang (Netzwerkname und Passwort) | 54 | 33 | 33 | 37 | 41 |
Die Tracking-Parameter ließen den Code bei Stufe M von 33 auf 49 Module pro Seite wachsen. Bei gleicher Druckgröße wird jedes Modul dadurch etwa 28 % kleiner, weil sich die Breite auf 57 statt 41 Modulbreiten verteilt (Ruhezone eingerechnet). Eine kurze URL ist der einfachste Weg zu einem robusten Code.
Wie groß muss ein QR-Code sein?
Ob ein Code gelesen wird, hängt davon ab, wie viele Kamerapixel jedes Modul abdeckt. Wir haben Codes verkleinert, bis jedes Modul eine bestimmte Pixelbreite hatte, sie leicht weichgezeichnet wie durch ein Kameraobjektiv und dann zu lesen versucht:
| Pixel pro Modul | Code 25 × 25 | Code 33 × 33 | Code 49 × 49 |
|---|---|---|---|
| 2 | nicht gelesen | nicht gelesen | nicht gelesen |
| 2,5 | nur ZBar | nicht gelesen | nur ZBar |
| 3 | von beiden gelesen | von beiden gelesen | von beiden gelesen |
| 4 | von beiden gelesen | von beiden gelesen | von beiden gelesen |
Beide Decoder brauchten etwa drei Pixel pro Modul. Für die Person, die scannt, heißt das: Sind die Module doppelt so groß, lässt sich der Code aus doppelter Entfernung lesen, und ein dichterer Code muss von näher gescannt werden. Die Modulgröße Ihres Drucks können Sie ausrechnen:
Modulgröße = Druckbreite ÷ (Module pro Seite + 8)
3 cm breit, Code 33 × 33: 30 mm ÷ 41 ≈ 0,73 mm
3 cm breit, Code 49 × 49: 30 mm ÷ 57 ≈ 0,53 mm Welche Größe Sie auch wählen: Drucken Sie einen Probeabzug und scannen Sie ihn aus der Entfernung, aus der Menschen tatsächlich scannen, etwa über einen Tisch hinweg oder vom Gehweg vor einem Schaufenster.
Logos: Wie viel darf man verdecken?
Die Fehlerkorrektur lässt einen Code Schäden überstehen, deshalb setzen viele Gestaltungen ein Logo in die Mitte. Wir haben die Mitte des Codes mit der 47-Zeichen-URL mit einem immer größeren leeren Quadrat verdeckt und geprüft, wann das Lesen scheiterte:
| Stufe | Wiederherstellbare Daten | Größte verdeckte Mitte, die noch gelesen wurde |
|---|---|---|
| L | etwa 7 % | 3 % der Codefläche |
| M | etwa 15 % | 7 % |
| Q | etwa 25 % | 12 % (OpenCV: 15 %) |
| H | etwa 30 % | 18 % |
In der Praxis lässt sich nur etwa die Hälfte bis zwei Drittel des Nennwerts verdecken: Ein Logo trifft Codewörter auch teilweise, und der Nennwert ist der Idealfall. Wenn Sie ein Logo einfügen, wählen Sie Stufe H, bleiben Sie deutlich unter 15 % der Fläche und lassen Sie die drei Eckquadrate unberührt. Unser Generator fügt keine Logos ein; setzen Sie eines im Bildbearbeitungsprogramm ein, erzeugen Sie den Code mit Stufe H und testen Sie das Ergebnis.
Kontrast und Farbe
Auf sauberen digitalen Bildern lasen beide Decoder sogar sehr blasse Codes. Kamerafotos sind anders, deshalb haben wir Sensorrauschen, eine leichte Unschärfe und über den Code auf 65 % abfallendes Licht hinzugefügt und jeden Test zehnmal wiederholt:
| Grauwert der dunklen Module | Kontrast zum weißen Hintergrund | ZBar | OpenCV |
|---|---|---|---|
| 0 (schwarz) | 100 % | 10 von 10 | 8 von 10 |
| 64 | 75 % | 10 von 10 | 10 von 10 |
| 96 | 62 % | 7 von 10 | 7 von 10 |
| 128 | 50 % | 1 von 10 | 9 von 10 |
| 160 | 37 % | 0 von 10 | 9 von 10 |
| 192 | 25 % | 0 von 10 | 0 von 10 |
Halten Sie die dunklen Module wirklich dunkel: Etwa 75 % dunkler als der Hintergrund war für beide Decoder zuverlässig. Entscheidend ist die Helligkeit, nicht die Farbe. Dunkelblau oder Schwarz auf Weiß ist ideal; reines Rot auf Weiß ist nur etwa 66 % dunkler und schon grenzwertig; Hellblau (etwa 33 %) und Gelb (etwa 21 %) auf Weiß sind ungeeignet.
Die Ruhezone ist Pflicht
Wir haben Codes auf ein unruhiges Schwarz-Weiß-Muster gesetzt, mit einem leeren Rand von 0, 1, 2 oder 4 Modulen, jeweils auf zehn verschiedenen Zufallshintergründen:
| Ruhezone | ZBar | OpenCV |
|---|---|---|
| 0 Module | 8 von 10 | 0 von 10 |
| 1 Modul | 10 von 10 | 10 von 10 |
| 2 Module | 10 von 10 | 9 von 10 |
| 4 Module (Norm) | 10 von 10 | 10 von 10 |
Ganz ohne Rand scheiterte OpenCV jedes Mal. Unser Generator fügt immer den genormten Rand von vier Modulen hinzu. Schneiden Sie ihn im Layout nicht weg und halten Sie Text, Fotos und Muster heraus.
Statische Codes laufen nie ab
Unser Generator erstellt statische Codes: Der Inhalt selbst, etwa die URL, die WLAN-Daten oder die E-Mail-Adresse, steckt im Muster, sodass der Code ohne jeden Dienst dahinter dauerhaft funktioniert. Sogenannte dynamische Codes mancher Anbieter enthalten nur einen kurzen Link zum Anbieter, der die Besucher weiterleitet; endet das Abo, funktioniert keiner der gedruckten Codes mehr. Für Drucksachen bietet ein statischer Code, der auf eine Adresse Ihrer eigenen Domain zeigt, beides: Er läuft nie ab, und das Ziel können Sie über eine Weiterleitung auf Ihrer Website ändern.
Sicherheit: mit Bedacht scannen
Niemand kann einen QR-Code mit bloßem Auge lesen, deshalb eignet er sich ideal, um einen schädlichen Link zu verstecken. Im Dezember 2023 warnte die US-Verbraucherschutzbehörde FTC, dass Betrüger eigene Codes über echte kleben, etwa an Parkautomaten, und Codes per E-Mail oder SMS mit dringenden Aufforderungen verschicken. Prüfen Sie vor dem Öffnen eines gescannten Links die Adresse, die Ihr Handy anzeigt; scannen Sie keine Codes aus unerwarteten Nachrichten; und kontrollieren Sie ab und zu, ob jemand Ihre eigenen gedruckten Codes überklebt hat.
Checkliste vor dem Druck
- Der Inhalt ist so kurz wie möglich, ohne unnötige Tracking-Parameter.
- Stufe M für den Normalfall; Q oder H draußen, auf gewölbten oder rauen Flächen oder mit Logo.
- Dunkle Module auf hellem Grund mit starkem Kontrast, nie invertiert.
- Die Ruhezone von vier Modulen ist vollständig und frei von Text und Grafik.
- SVG für den Druck, weil es ohne Unschärfe skaliert; PNG für Bildschirme und Dokumente.
- Eine kurze Zeile neben dem Code sagt, wohin er führt, etwa „Speisekarte: example.com/karte“.
- Der Probeabzug wurde mit mindestens zwei verschiedenen Handys aus der echten Entfernung und im echten Licht getestet.
Tools aus diesem Ratgeber
Häufige Fragen
Welche Fehlerkorrekturstufe sollte ich wählen?
Stufe M passt für die meisten Codes auf Papier und Bildschirm. Wählen Sie Q oder H für Codes im Freien, auf gewölbten oder rauen Flächen oder mit Logo, und L nur für sehr lange Inhalte auf einem Bildschirm.
Laufen QR-Codes ab?
Statische Codes wie die unseres Generators laufen nie ab, weil der Inhalt im Code selbst steckt. Dynamische Codes mancher Dienste hängen von diesem Dienst ab und funktionieren nicht mehr, wenn er eingestellt wird oder das Abo endet.
Kann ich ein Logo in die Mitte eines QR-Codes setzen?
Ja, mit Stufe H. In unserem Test wurde bei Stufe H eine leere Fläche von bis zu 18 % des Codes noch gelesen, bei Stufe M nur 7 %. Bleiben Sie deutlich unter 15 %, lassen Sie die Eckquadrate frei und testen Sie den Druck.
Warum lässt sich mein QR-Code nicht scannen?
Die häufigsten Ursachen sind ein für die Entfernung zu kleiner oder zu dichter Code, zu wenig Kontrast, invertierte Farben, eine fehlende Ruhezone, Spiegelungen auf glänzendem Material und gewölbte Flächen wie Flaschen.
Ist ein WLAN-Passwort im QR-Code sicher?
Das Passwort steht als Klartext im Code; wer ihn scannt oder fotografiert, kann es lesen. Nutzen Sie WLAN-Codes für Gästenetze und ändern Sie das Passwort bei Bedarf.
Werden meine Daten beim Erstellen irgendwohin gesendet?
Nein. Unser QR-Code-Generator erstellt den Code in Ihrem Browser; Ihre Eingaben werden nicht an unseren Server gesendet.