Zum Hauptinhalt springen
OpenQRS
Tools
Aktuelle Sprache: Deutsch
100 % privat

vCard-QR-Code-Generator

100 % privat und lokal — Ihre Daten verlassen niemals Ihren Browser. Diese QR-Codes sind dauerhaft und laufen nie ab.

Einstellungen für Visitenkarte

Füllt das Feld für den Vornamen in N und die Zeile FN, die die meisten Kontakt-Apps anzeigen.

Geben Sie einen Vor- oder Nachnamen ein. Eine vCard muss einen Anzeigenamen tragen, eine Karte ohne beides ist also kein gültiger Datensatz.

Füllt das Feld für den Familiennamen in N. Adressbücher sortieren danach.

Wird nach ORG geschrieben. Ein Semikolon hier wird maskiert und deshalb nicht als Abteilungstrenner gelesen.

Wird nach TITLE geschrieben, getrennt von ROLE.

Wird als TEL;TYPE=cell gespeichert. Die internationale Form wählt aus jedem Land korrekt.

Wird als TEL;TYPE=work,voice gespeichert.

Wird nach EMAIL geschrieben. Eine Adresse hält das Symbol kleiner als zwei.

Wird nach URL geschrieben. Geben Sie das Schema mit an; manche Kontakt-Apps speichern eine nackte Domain als nicht anklickbaren Text.

Dritter Bestandteil von ADR. Hausnummer und Straße in einer Zeile.

vCard 4.0 speichert das Land als Namen, nicht als Zwei-Buchstaben-Code.

Wird nach NOTE geschrieben. Zeilenumbrüche werden kodiert, und jedes Zeichen hier vergrößert das Symbol.

Design

Modulform
Farbvorgaben
Eckrahmen
Logo in der Mitte hinzufügen
Bild auswählen oder hier ablegenPNG, JPEG, WebP oder GIF, bis zu 1000 KB

Das Bild wird auf dieser Seite gelesen und als data:-URL in den Code eingebettet. Es wird nicht hochgeladen und bleibt in der Datei, die Sie herunterladen.

Weitere Design-Optionen

Die dunkle Hälfte des Codes. Halten Sie sie deutlich dunkler als den Hintergrund.

Deckt die Ruhezone ebenso wie die Lücken zwischen den Modulen. Ein transparenter Hintergrund lässt sie aus der Datei heraus, es wird also nichts damit gezeichnet.

Kontrast 11.5:1 zwischen den Modulen und dem Hintergrund.

Farbvorgaben

PNG und WebP behalten einen Alphakanal; die SVG lässt das Hintergrundrechteck einfach weg. Worauf der Code liegt, wird zur hellen Hälfte des Kontrasts.

Verlauf

Ein Verlauf füllt nur die dunklen Module. Sein helleres Ende bestimmt den Kontrast, den ein Scanner tatsächlich bekommt, also müssen beide Enden dunkel bleiben.

Die zweite Farbe, nur bei ausgewähltem Verlauf verwendet. Sie wird gemeinsam mit der ersten auf Kontrast gemessen.

45°

Grad im Uhrzeigersinn, ausgehend von einem Verlauf von links nach rechts. Ein radialer Verlauf breitet sich von der Mitte nach außen aus, der Winkel gilt also nur für einen linearen.

Modulform

Abgerundete Formen decken weniger von jeder Zelle ab. Die Mitte bleibt bedeckt, und genau dort tastet ein Decoder ab, doch ein kleiner Druck eines dichten Codes liest sich mit Quadraten zuverlässiger.

Eckrahmen

Der Ring der drei Suchmuster.

Eckmitte

Das Auge in jedem Suchmuster.

4 Module

Der leere Rand um den Code, gemessen in Modulen. 4 ist das vorgeschriebene Minimum.

Eine höhere Stufe übersteht mehr Schaden und kostet Kapazität, derselbe Inhalt ergibt also ein dichteres Symbol.

Ein Logo sitzt in der Mitte und hält die Stufe auf H. Seine Breitengrenze folgt dem Symbol: 14% beim kleinsten Code, 30% bei einem dichten.

Live-Vorschau & Export

Export

Export

Raster, für Bildschirme

Füllen Sie das Formular aus, um die Downloads freizuschalten.

Exportgröße und kodierter Text
Nutzlast
Noch nichts kodiert
Symbol
Noch nicht gebaut
Korrektur
M

Warten auf Eingabe

Exportgröße

Zwischen 64 und 4096 Pixel. Export mit 1024 px.

Kodierter Text

Ein vCard-QR-Code trägt einen vollständigen Kontaktdatensatz, deshalb bietet das Scannen an, einen Kontakt zu speichern, statt eine Seite zu öffnen. Jedes ausgefüllte Feld kostet Bytes und das Symbol wächst mit, weshalb eine vollständige Karte größer gedruckt werden muss als ein einfacher Link.

Beim Scannen

Das Telefon zeigt eine Kontaktvorschau und bietet an, den Eintrag ins Adressbuch zu übernehmen, ohne dass eine Seite lädt oder etwas heruntergeladen wird.

Wie ein vCard-4.0-Datensatz aussieht

Die Nutzlast ist ein kleines Klartextdokument, kein Link. Sie beginnt mit BEGIN:VCARD und VERSION:4.0, trägt eine Eigenschaft je Zeile, getrennt durch Wagenrücklauf und Zeilenvorschub, und schließt mit END:VCARD. Version 4.0 ist in RFC 6350 definiert.

Zwei Eigenschaften decken den Namen ab, und sie tun Verschiedenes. N enthält den strukturierten Namen in fünf geordneten Feldern, den Familiennamen zuerst. FN enthält die eine Anzeigezeichenkette, die das Adressbuch zeigt, und RFC 6350 macht FN verpflichtend — weshalb eine Karte ganz ohne Namen kein gültiger Datensatz ist.

ADR ist eine einzige Eigenschaft mit sieben Bestandteilen in fester Reihenfolge, und leere brauchen trotzdem ihre Trennzeichen. Deshalb beginnt eine Anschrift ohne Postfach mit zwei Semikolons vor der Straße.

  • N:Brandt;Annika;;; und dann FN:Annika Brandt
  • ORG:Buchbinderei Nordtor und TITLE:Leitung Produktion
  • TEL;TYPE=cell:+4915123456789 und TEL;TYPE=work,voice:+4922112345678
  • ADR;TYPE=work:;;Domstraße 18;Köln;Nordrhein-Westfalen;50667;Deutschland
  • RFC 6350 typisiert TEL als tel:-URI; die hier verwendete kürzere Form aus bloßen Ziffern ist zugleich das, was Parser aus der 3.0-Zeit erwarten

Warum eine Kontaktkarte ein großes Symbol ergibt

Eine Karte, die jedes Feld dieser Seite füllt, kommt auf rund 400 Bytes Text, ein Mehrfaches eines üblichen Weblinks. Stufe H verwendet etwa zwei Drittel der Codewörter eines Symbols auf Fehlerkorrektur — 2.430 von 3.706 bei Version 40 — und genau das erkauft die rund 30 Prozent des Symbols, die sie wiederherstellen kann. Es macht H zugleich zur Stufe, die am wenigsten speichert: Ein Gitter der Version 20 fasst bei H 382 Bytes. Deshalb ist die Vorgabe hier M, was dieselbe Information auf ein merklich kleineres Gitter bringt.

Version 20 ist 97 Module breit. Mit der vier Module breiten Ruhezone, die der Standard auf jeder Seite verlangt, sind das 105 Module von Kante zu Kante. Auf 25 mm Breite gedruckt ist jedes Modul etwa 0,24 mm groß. Druckempfehlungen setzen die Untergrenze zwischen 0,4 und 0,5 mm je Modul, jene 105 Modulbreiten wollen also zwischen 42 und 53 mm — und eine vollständige Kontaktkarte auf 25 mm liegt deutlich unter beiden Werten.

Muss der Code klein sein, hilft weniger Bytes statt mehr Fehlerkorrektur. Wer die Notiz, die zweite Rufnummer und das Bundesland weglässt, nimmt oft hundert Bytes aus der Nutzlast und zieht die Version mehrere Stufen herunter.

  • Umlaute und nicht-lateinische Zeichen werden als UTF-8 kodiert und kosten je zwei bis vier Bytes statt eines
  • Ein Logo in der Mitte erzwingt Stufe H, eine vollständige Karte samt Logo braucht also die größere Druckgröße
  • Die absolute Obergrenze für ein Symbol liegt bei 2.953 Bytes, auf Stufe L

Version 4.0 und was sie noch liest

Drei vCard-Versionen sind im Umlauf: 2.1, 3.0 aus RFC 2426 und 4.0 aus RFC 6350. Diese Seite schreibt 4.0, die aktuelle Spezifikation und diejenige, die UTF-8 als Kodierung festlegt, statt Zeichensätze einem Parameter zu überlassen.

iOS Kontakte und aktuelle Android-Kontakt-Apps lesen 4.0-Datensätze aus einem Scan. Darunter ist die Unterstützung nicht durchgängig: Manche älteren Kontakt-Apps von Drittanbietern und manche Firmenadressbücher wurden gegen 2.1 oder 3.0 gebaut und ignorieren entweder Eigenschaften, die sie nicht kennen, oder weisen den Datensatz ganz zurück. Muss eine Karte eine Flotte alter Geräte erreichen, testen Sie eines, bevor Sie tausend drucken.

Nichts an dem Datensatz wird geprüft. Eine vCard behauptet, was Sie eingetippt haben, ein Scan ist also ein Angebot, einen Kontakt zu speichern, und kein Beweis, dass der Kontakt echt ist. Jede Plattform zeigt einen Bestätigungsbildschirm, bevor sie ins Adressbuch schreibt.

Fragen und Antworten

Wie viel passt auf eine Karte, bevor sie nicht mehr scannt?

Die Grenze ist die Druckgröße, nicht das Format. Eine vollständige Karte liegt bei rund 400 Bytes, was auf Stufe M ein Gitter von etwa 77 bis 85 Modulen ergibt. Auf 45 mm oder breiter gedruckt scannt sie aus Armlänge; auf 25 mm gedruckt sinken die Module auf etwa 0,24 mm, und Handykameras verfehlen sie zunehmend.

Warum Version 4.0 und nicht 3.0?

4.0 ist die aktuelle Spezifikation, RFC 6350, und sie legt die Zeichenkodierung auf UTF-8 fest, damit akzentuierte Namen und nicht-lateinische Schriften den Weg unbeschadet überstehen, ohne Charset-Parameter. Der Preis dafür ist, dass einige alte, für 2.1 oder 3.0 gebaute Kontakt-Apps Eigenschaften weglassen können, die sie nicht kennen.

Kann ich ein Foto auf die Karte legen?

Nicht eingebettet. Eine PHOTO-Eigenschaft trägt das Bild als Base64, und selbst ein kleines Porträt kommt auf mehrere zehn Kilobyte gegen eine harte Obergrenze von 2.953 Bytes für ein ganzes Symbol. Legen Sie das Bild auf eine eigene Seite und nutzen Sie stattdessen das Feld Website.

Was passiert mit Umlauten und nicht-lateinischen Schriften?

Sie werden als UTF-8 kodiert und im Byte-Modus des QR-Codes gespeichert. Sie funktionieren, aber sie sind nicht umsonst: Ein Zeichen außerhalb des reinen ASCII kostet zwei bis vier Bytes statt eines, ein Name in Griechisch, Arabisch oder Japanisch treibt das Symbol also um ein bis zwei Versionen nach oben.

So funktioniert ein statischer QR-Code

Jeder Code auf dieser Seite ist statisch: Die Nutzlast steht in den schwarzen und weißen Modulen selbst. Beim Lesen wird nichts nachgeschlagen, kein Server von uns ist beteiligt, und kein Abo hält den gedruckten Code am Leben. Dieselbe Eigenschaft ist die Grenze — einmal gedruckt, lässt sich sein Inhalt nicht mehr ändern.

Drei Dinge entscheiden dann, ob ein gedruckter Code gelesen wird: wie viele Bytes die Nutzlast ergeben hat, welche Fehlerkorrekturstufe den Schaden auffängt und wie breit ein einzelnes Modul auf dem Papier wird. Diese Ratgeber gehen jeden Punkt mit Zahlen durch.