Codul QR (Quick Response Code) a fost inventat în 1994 de Denso Wave (Japonia) pentru urmărirea pieselor auto. Spre deosebire de codurile de bare 1D (EAN, CODE-128), QR este un cod 2D — codează informația în două dimensiuni, ceea ce-i permite o densitate de date mult mai mare. Astăzi, QR-ul este omniprezent: meniuri restaurant, plăți contactless, autentificare în aplicații, vCard pentru contact rapid.
Anatomy unui cod QR
Un cod QR conține mai multe regiuni funcționale, codificate matematic:
| Regiune | Rol |
|---|---|
| Finder Patterns (3 colțuri) | Pătratele mari în 3 colțuri — ajută cititorul să detecteze rotația și perspectiva |
| Alignment Patterns | Pătrate mici (de la versiunea 2 în sus) — corecție pentru distorsiune perspectivă |
| Timing Patterns | Linii alternate negru/alb între finder patterns — ghid pentru spațierea modulelor |
| Format Information | 15 biți codificați la baza finder patterns — codifică nivelul ECC + masca aplicată |
| Version Information | (de la versiunea 7) — codifică numărul versiunii |
| Data + Error Correction | Modulele rămase — datele utile codate Reed-Solomon |
Stil module — pătrate, puncte sau rotunjite
Generatorul nostru permite alegerea formei modulelor de date pentru un design personalizat:
| Stil | Aspect | Compatibilitate la scanare | Recomandare |
|---|---|---|---|
| Pătrat (clasic) | Module pătrate uniforme | 100% — standardul ISO/IEC 18004 | Tipar profesional, etichete comerciale |
| Puncte | Cercuri în loc de pătrate | ~99% (cu ECC ≥ M) | Branding modern, design contemporan |
| Rotunjit | Pătrate cu colțuri rotunjite | ~99.5% | Echilibru între design și fiabilitate |
Regulă critică (best practice): indiferent de stilul ales pentru modulele de date, finder patterns-urile din cele 3 colțuri rămân întotdeauna pătrate solide. Acestea sunt esențiale pentru ca cititorul (telefon, scanner industrial) să detecteze instantaneu poziția, rotația și perspectiva codului. Dacă finder patterns-urile sunt distorsionate vizual, rata de scanare scade dramatic — chiar și cu ECC nivel H.
Generatorul aplică automat această regulă: când alegi stilul Puncte sau Rotunjit, modulele de date primesc forma respectivă, dar cele 3 finder patterns rămân pătrate clasice. Așa obții design + fiabilitate maximă.
Niveluri de corectare a erorilor (ECC)
Codul QR folosește codarea Reed-Solomon — o tehnică matematică din anii 1960, originar dezvoltată pentru transmisii spațiale. Reed-Solomon adaugă bytes redundanți care permit recuperarea informației chiar dacă o parte din cod este deteriorată, murdară sau acoperită cu o pictogramă.
| Nivel | Recuperare | Capacitate alfanumerică (v40) | Recomandare |
|---|---|---|---|
| L (Low) | ~7% | 4296 | doar text scurt, mediu curat |
| M (Medium) | ~15% | 3391 | uz general, fără pictogramă |
| Q (Quartile) | ~25% | 2420 | medii dificile, pictogramă mică |
| H (High) | ~30% | 1852 | pictogramă centrală până la 25% |
Capacitatea matematică a unui cod QR
Numărul de module pentru o versiune (1 ≤ v ≤ 40) este:
De exemplu, versiunea 1 are module, versiunea 40 are module.
Capacitatea utilă de date depinde de nivelul ECC. Notăm cu numărul total de bytes de date și cu bytes-ii ECC pentru nivelul L. Atunci:
Pentru nivelul H, regula de bază este aproximativă:
ceea ce înseamnă că până la 30% din simbolurile de date pot fi pierdute fără ca informația originală să fie afectată.
De ce ECC nivel H este obligatoriu cu pictogramă
Pictograma centrală nu doar acoperă vizual zona — fizic înlocuiește modulele cu pixeli necunoscuți pentru cititor (interpretați ca erori). Mărimea suprafeței acoperite trebuie să fie sub limita de recuperare a nivelului ECC.
Calculul suprafeței acoperite
Pentru o pictogramă pătrată de scală (raport față de lățimea totală a codului), suprafața acoperită este:
Cu (20%): din suprafață. Cu (25%): .
Dar atenție: pictograma acoperă module date, nu pixeli proporțional. La QR cu finder/alignment patterns, modulele active de date acoperite sunt aproximativ:
unde (modulele de funcție ocupă ~45%).
Astfel, o pictogramă de acoperă aproximativ:
— mult sub 30% recuperabili la nivel H. De aceea ECC H este sigur cu pictogramă până la 25%.
Exemplu numeric: pictogramă 25%, ECC H
Pentru un QR de versiune 5, ECC H:
- ≈ 752 module
- Pictogramă de 25%: acoperă module
- Module data acoperite: ~ module
- Limită ECC H: module recuperabile
Marjă de siguranță: 225 - 47 = 178 module disponibile pentru orice altă deteriorare (zgârieturi, lumină, unghi).
Formate de date standard în QR
Codul QR e doar o codare a unui șir de text. Aplicațiile interpretează acest text după convenții cunoscute:
URL (cel mai comun)
https://instrumenteonline.ro
Telefoanele detectează automat schema http:// / https:// și afișează butonul „Deschide în browser”.
Wi-Fi (WIFI:)
WIFI:T:WPA;S:NumeReteaWiFi;P:parolaTa123;;
Câmpuri:
| Câmp | Valori |
|---|---|
T: | tipul criptării — WPA, WEP, nopass |
S: | SSID (numele rețelei) — atenție la caractere speciale (escape cu \) |
P: | parola |
H:true | (opțional) rețea ascunsă |
vCard (RFC 6350)
BEGIN:VCARD
VERSION:3.0
FN:Ion Popescu
TEL:+40712345678
EMAIL:ion@exemplu.ro
ORG:InstrumenteOnline
URL:https://instrumenteonline.ro
END:VCARD
Permite salvare instantanee a contactului cu un singur tap pe telefon.
Geo-locație
geo:44.4268,26.1025
(Latitudine, longitudine — București, Piața Unirii ca exemplu.) Se deschide direct în Maps / Google Maps.
Telefon și e-mail
tel:+40712345678
mailto:contact@exemplu.ro?subject=Salut
Plăți (EPC QR — SEPA Credit Transfer)
Standard european pentru plăți instant:
BCD
002
1
SCT
[BIC]
[Beneficiar]
[IBAN]
EUR12.50
[Referință]
Folosit larg în Germania, Austria, Olanda. România îl adoptă treptat odată cu plățile instant SEPA.
Algoritmul de generare (overview)
Generarea unui cod QR implică următoarele etape:
- Analiză date — alegerea modului optim (numeric, alfanumeric, byte, kanji)
- Codificare — conversie la flux de biți cu prefix mod (4 biți) + lungime
- Padding — completare la lungimea blocului versiunii alese
- Generare ECC Reed-Solomon — calcul polinom de corecție pe blocuri
- Intercalare — combinare date + ECC într-un flux ordonat
- Plasare module — finder, timing, alignment, format, version, date
- Aplicare mască — alegerea celei mai bune din 8 măști posibile (criteriu de uniformitate)
- Format info final — codarea Reed-Solomon a 5 biți (mască + ECC) → 15 biți
Algoritmul respectă ISO/IEC 18004:2015.
Aplicații tipice
Wi-Fi pentru oaspeți
Generează un QR cu credențialele Wi-Fi și afișează-l în recepție / cameră. Oaspeții se conectează scanând cu telefonul (Android nativ; iOS din 11) — fără să tasteze parola lungă.
Carte de vizită digitală (vCard)
Adaugă un QR mic (cu vCard) pe spatele cărții de vizită clasice. La networking, în loc să rugi cealaltă persoană să introducă manual contactul, scanează codul — telefonul salvează în 1 secundă în agendă.
Meniu restaurant
QR pe masă cu URL spre meniul digital sau PDF. Pictograma centrală cu logo restaurant + ECC nivel H asigură recunoaștere instantanee și brand consistency.
Bilete și evenimente
QR pe bilet cu UUID unic — la check-in se scanează, sistemul validează. Pictograma cu logo evenimentului previne falsificarea simplă (un QR fără logo este vizibil suspect).
Plăți și tipsuri
QR cu IBAN preformatat — clientul deschide aplicația de banking, scanează, confirmă suma. Inițiat în Germania, adoptat treptat în zona euro.
Greșeli frecvente
- ECC nivel L cu pictogramă — codul devine neclar. Folosește mereu H când există pictogramă.
- Pictogramă peste 30% din suprafață — chiar și cu ECC H, riscul devine semnificativ. Ține-te sub 25%.
- Contrast slab între module și fundal — culorile pastel sau gradiente reduc rata de detecție. Recomandare: bare negre pe fundal alb, sau cel puțin contrast PCS ≥ 70%.
- Tipărire la rezoluție prea mică — codul are nevoie de minim 0.4 mm/modul pentru scanare normală. La 21x21 module (versiunea 1), asta înseamnă min. ~10 mm latura totală.
- Lipsa quiet zone — minim 4 module margine albă în jurul codului. Generatorul nostru o adaugă automat (configurabil în avansat).
- Date prea lungi — >500 caractere creează un QR extrem de dens, greu de scanat de pe distanță. Folosește un URL scurt în loc.
Recomandări tipar profesional
| Element | Valoare recomandată |
|---|---|
| Rezoluție tipar | min. 300 dpi |
| Mărime modul | min. 0.4 mm (~10 mm latura QR la versiunea 1) |
| Quiet zone | min. 4 module în jur (preferabil 6-8) |
| ECC cu pictogramă | H (obligatoriu) |
| Pictogramă centrală | max 25% din lățime, fundal alb +8-10% padding |
| Format export | SVG vectorial pentru orice scală |
Calculatoare înrudite
- Generator Cod de Bare — EAN-13, CODE-128, UPC-A, ITF-14 cu cifră de control GS1
- Codificare Base64 — codare reversibilă pentru transmitere date binare
- Codificare URL — percent-encoding pentru parametri URL utilizați în QR