Guide

QR helpers

Use comark-etiket QR helper directives to build WiFi, email, SMS, geo, vCard, and structured QR payloads from attrs.

QR helper directives build the encoded payload from attrs. You do not write the raw QR string yourself.

Pick a helper directive

DirectiveRequired attrsExample
::qr-wifissid, password::qr-wifi{ssid="Net" password="pass"}
::qr-emailaddress::qr-email{address="hi@example.com"}
::qr-smsphone::qr-sms{phone="+1234567890" message="Hello"}
::qr-geolat, lng::qr-geo{lat="48.8584" lng="2.2945"}
::qr-urlurl::qr-url{url="https://example.com"}
::qr-phonephone::qr-phone{phone="+1234567890"}
::qr-vcardcontact fields::qr-vcard{first-name="Ada" last-name="Lovelace" email="ada@example.com"}
::qr-mecardcontact fields::qr-mecard{name="Ada Lovelace" phone="+1234567890"}
::qr-eventtitle, start, end::qr-event{title="Meeting" start="20250101T090000Z" end="20250101T100000Z"}
::swiss-qrstructured fieldssee Swiss QR Bill
::gs1-digital-linkstructured fieldssee GS1 Digital Link

Configure WiFi QR codes

qr-wifi.md
::qr-wifi{ssid="GuestNetwork" password="Welcome123"}
::

Configure contact QR codes

qr-vcard.md
::qr-vcard{first-name="Ada" last-name="Lovelace" email="ada@example.com"}
::

::swiss-qr and ::gs1-digital-link accept nested fields via JSON attrs or YAML block props. See the etiket docs for field schemas.

Copyright © 2026