SU
StrumentiUtili.it
Micro-strumenti gratuiti 100% client-side
← Torna alla categoria Utilità & Web
🎨 Utilità & Web

Generatore Codice QR Offline

Crea QR code statici e privati nel browser. Perfetto per stampare password Wi-Fi, URL o vCard senza essere tracciato.

Configurazione QR

Affidabilità di questo strumento

📅 Formati dei contenuti e capacità dei codici QR verificati a

👨‍💻 Chi lo ha realizzato

Sviluppato e mantenuto da ingegneri software indipendenti. Motore di calcolo basato esclusivamente sulle normative ufficiali vigenti. (Zero-Backend: nessun dato viene inviato a server esterni).

🔒 Privacy Zero-Backend

Testi, link, password Wi-Fi e contatti vengono codificati nel browser e non sono inviati a server. Il codice QR generato è statico: contiene direttamente il dato e non passa da servizi di reindirizzamento che registrano le scansioni, nel rispetto dei principi degli artt. 5 e 25 del GDPR.

📚 Fonti tecniche

ISO/IEC 18004:2024 (simbologia QR Code, livelli di correzione e zona di rispetto di 4 moduli), formato WIFI della specifica ZXing per le reti Wi-Fi, RFC 6350 (vCard 4.0), libreria qrcodejs 1.0.0, Regolamento UE 2016/679 artt. 25 e 32.

Trattato Tecnico-Normativo: Standard ISO/IEC 18004:2024, Ridondanza Reed-Solomon e Inviolabilità Crittografica Client-Side

La generazione programmatica di vettori d'informazione bidimensionali a matrice — comunemente noti come codici QR (Quick Response) — rappresenta una disciplina nevralgica nell'ingegneria del software moderno, nell'intermediazione d'accesso e nella sicurezza delle comunicazioni di rete. La creazione di credenziali per reti Wi-Fi aziendali, schede di contatto vCard, token di autenticazione a due fattori (2FA) o URI crittografati richiede l'applicazione di principi architetturali rigorosi mirati a eliminare ogni possibile intercettazione o dispersione di log su server intermediari. Il seguente trattato disamina l'inquadramento normativo europeo in materia di sicurezza del trattamento (GDPR), la formalizzazione algebrica della matrice bidimensionale definita dallo standard ISO/IEC 18004:2024, le funzioni di entropia crittografica locale, le casuistiche operative in contesti mission-critical e l'analisi dei possibili fallimenti di scansione ottica.

🏛️ Inquadramento Normativo: Sicurezza ex Art. 32 GDPR, Sterilizzazione del Data Processor e Tracciamento SaaS

Per il principio fondamentale di sicurezza del trattamento sancito dall'Articolo 32 del Regolamento Generale sulla Protezione dei Dati (GDPR - Regolamento UE 2016/679), il Titolare del Trattamento è tenuto a mettere in atto misure tecniche e organizzative adeguate per garantire un livello di sicurezza commisurato al rischio. La generazione di artefatti grafici che incorporano informazioni riservate (quali stringhe di testo secretate, credenziali d'accesso Wi-Fi WPA2/WPA3, URI di referti sanitari o dati anagrafici) tramite generatori commerciali tradizionali erogati in modalità Cloud SaaS costituisce una grave vulnerabilità sistemica.

La quasi totalità dei servizi QR online gratuiti implementa la pratica dei cosiddetti "QR Code Dinamici". In questo modello, il codice impresso non contiene direttamente l'informazione finale dell'utente, bensì un URI intermediario appartenente al server dell'azienda fornitrice. Quando il codice viene inquadrato, la scansione viene instradata verso i server SaaS remoti, che registrano l'indirizzo IP del dispositivo, la posizione geografica, il timestamp e l'user-agent del browser, per poi eseguire un reindirizzamento HTTP 302 verso la destinazione reale. Oltre al tracciamento non autorizzato degli utenti (in palese violazione del consenso GDPR), tali codici cessano imprevistamente di funzionare non appena il provider modifica le proprie politiche commerciali o disattiva i server, rendendo inutilizzabili i materiali stampati.

L'infrastruttura Zero-Backend (Serverless Client-Side) del presente applicativo azzera integralmente questo vettore d'attacco. In perfetta aderenza al principio di Data Protection by Design e by Default (Articolo 25 GDPR), la generazione dei moduli algebrici avviene interamente all'interno del Document Object Model (DOM) e della memoria RAM locale del browser tramite l'algoritmo compilato in JavaScript. Rifiutando qualsiasi comunicazione verso il server (Zero-Upload), i codici generati sono estrettamente Statici: l'informazione è scolpita in modo definitivo all'interno della matrice geometrica. Senza alcun canale di comunicazione attivo verso l'esterno, il gestore del sito non assume mai la qualifica di Responsabile del Trattamento (Data Processor ex Articolo 28 GDPR), sollevando l'utente aziendale dagli oneri di stipula dei Data Processing Agreements (DPA), dalla redazione di DPIA ex Art. 35 e dal rischio di sanzioni amministrative pecuniarie previste dall'Articolo 83 del GDPR (fino a 20 milioni di euro o fino al 4% del fatturato globale annuo).

⚙️ Meccanica e Formule: Standard ISO/IEC 18004:2024, Polinomi di Reed-Solomon e Capacità

La strutturazione e la sintassi geometrica dei codici QR sono normate a livello globale dallo standard ISO/IEC 18004:2024 (*Information technology - Automatic identification and data capture techniques - QR Code bar code symbology specification*). Il simbolo QR si presenta come una griglia quadrata composta da moduli neri e bianchi, incastonati tra tre schemi fondamentali di rilevamento angolare (*finder patterns*), moduli di allineamento e bande di temporizzazione (*timing patterns*).

1. Correzione degli Errori tramite Polinomi di Reed-Solomon

Il cuore matematico della tolleranza ai danni fisici della stampa si fonda sull'algebra astratta applicata ai Campi di Galois $GF(2^8)$. L'elaboratore client-side frammenta la stringa di input in blocchi di parole in codice (*codewords* da 8 bit ciascuno) e genera polinomi di parità $E(x)$ dividendo il polinomio dei dati $D(x)$ per un polinomio generatore $G(x)$ definibile come:

$$G(x) = \prod_{i=0}^{t-1} (x - \alpha^i)$$

Dove $\alpha$ rappresenta l'elemento primitivo del campo finito $GF(2^8)$ e $t$ identifica il numero di *codewords* di correzione d'errore da iniettare nella matrice. Lo standard ISO/IEC 18004 stabilisce quattro distinti livelli di ridondanza selezionabili:

Livello Error Correction Recupero Dati Danneggiati (Approx.) Trade-off della Capacità Modulare Scenario Operativo Ideale
L (Low - Basso) ~7% dei Codewords Massima capacità dati; matrice fisicamente più snella e compattata. Display digitali puliti, ambienti indoor protetti, payload testuali massicci.
M (Medium - Medio) ~15% dei Codewords Capacità bilanciata; costituisce l'impostazione standard di default. Stampa su brochure, URL commerciali, packaging pulito e biglietti da visita.
Q (Quartile) ~25% dei Codewords Capacità ridotta; produce una griglia QR chiaramente più densa. Ambienti logistici esterni, stampa di loghi aziendali centrali di piccole dimensioni.
H (High - Alto) ~30% dei Codewords Capacità utile minima per preservare la ridondanza strutturale massima. Cantieri in ambienti ostili, etichette soggette ad usura chimica, braccialetti ospedalieri.

2. Versione della Simbologia e Dimensione della Griglia

A seconda della quantità di dati da codificare e del livello di correzione errore prescelto, la libreria incrementa la "Versione" del simbolo QR, espandendo le dimensioni della griglia quadratica da un minimo di 21x21 moduli (Versione 1) fino a un massimo di 177x177 moduli (Versione 40). La dimensione modulare si calcola algebricamente tramite la formula:

$$\text{Moduli per Lato} = 17 + (4 \times \text{Versione})$$

3. Livello di correzione, capacità e zona di rispetto in questo generatore

La codifica di un codice QR è deterministica: lo stesso contenuto produce sempre la stessa matrice e non richiede numeri casuali. Questo generatore usa sempre il livello di correzione H, che tollera il danneggiamento di circa il 30% delle parole in codice ma riduce la capacità: al massimo 1.273 byte nella Versione 40. Le lettere accentate valgono 2 byte e la libreria aggiunge 3 byte di intestazione UTF-8 quando il testo ne contiene.

Lo standard richiede attorno al simbolo una zona di rispetto chiara larga 4 moduli. L'anteprima della libreria non la include, quindi i file PNG e SVG scaricati la aggiungono automaticamente con il colore di sfondo scelto. L'SVG è vettoriale, con un quadrato per ogni modulo scuro, e si può ingrandire per la stampa senza perdita di nitidezza.

📊 Casuistica Reale: Applicazioni in Triage Sanitario, IT Management Ospedaliero e Logistica VIP

Caso 1: Triage d'Urgenza Sanitaria e Braccialetti Paziente ad Alta Resistenza.
Il personale medico impegnato nei reparti di chirurgia d'urgenza e pronto soccorso deve stampare braccialetti identificativi per pazienti politraumatizzati in ingresso. Al braccialetto viene allegato un codice QR denso contenente l'URI crittografato che punta direttamente alla storia clinica delle reazioni allergiche e del gruppo sanguigno registrata nei server Intranet.

A causa della prassi sanitaria di utilizzare forti solventi disinfettanti, gel igienizzanti alcolici e del contatto con fluidi corporei, la stampa dell'etichetta è esposta a grave degrado chimico e sfregamento nel giro di poche ore. Il generatore applica sempre il Livello di Correzione H (30%). L'algoritmo di Reed-Solomon calcola i complessi blocchi di parità ed espande la matrice. Tale accorgimento assicura che il sensore ottico del tablet di reparto decodifichi senza incertezze le indicazioni terapeutiche anche se circa il 30% delle parole in codice risulta danneggiato, purché restino leggibili i tre quadrati di rilevamento agli angoli.

Caso 2: IT Management Ospedaliero e Setup di Workstation in Zona DMZ.
Un amministratore di sistemi (IT Manager) in una grande corporazione ospedaliera deve generare sequenzialmente centinaia di credenziali d'accesso sicure ad alta entropia (24 caratteri alfanumerici e speciali) per il setup automatizzato di nuove postazioni infermieristiche e server clinici.

Se utilizzasse un generatore commerciale ospitato su cloud di terzi, i sistemi di firewalling e i proxy di rete registrerebbero interamente il traffico testuale o le connessioni decifrate. Generando le chiavi con il generatore di password del portale, che usa `crypto.getRandomValues()`, e convertendole in QR statici direttamente nel browser locale del suo computer di gestione, l'amministratore garantisce per policy la segretezza assoluta delle password mission-critical all'interno della *Demilitarized Zone* (DMZ) dell'infrastruttura ospedaliera.

👥 Casi Pratici ed Esempi Reali

I casi seguenti sono stati generati nella pagina e decodificati con un lettore QR per verificarne il contenuto.

Caso 1: Wi-Fi per gli ospiti di un B&B con password che contiene «;» e «:»

  • Contenuto inserito: Casa;Rossi|WPA|pw:1;2|x
  • Testo nel codice: WIFI:T:WPA;S:Casa\;Rossi;P:pw\:1\;2|x;;
  • Nome della rete letto dal telefono: Casa;Rossi; password: pw:1;2|x

Senza la barra rovesciata davanti a «;» e «:» il telefono interromperebbe il nome della rete a «Casa» e la connessione fallirebbe. Per una rete ospiti aperta basta scrivere Ospiti|nopass|.

Caso 2: link ai servizi del Comune su un volantino

  • Contenuto: https://www.comune.milano.it/servizi, 36 byte
  • Con livello H: Versione 5, griglia di 37 × 37 moduli
  • Con la zona di rispetto: 45 moduli di lato
  • Stampa a 3 cm: circa 0,67 mm per modulo

Per un volantino letto a mano, a 25-30 cm, 3 cm di lato sono sufficienti. Aggiungendo parametri di tracciamento al link la versione sale e i moduli si rimpiccioliscono: conviene verificare la leggibilità con un telefono prima di stampare molte copie.

Caso 3: testo troppo lungo per un codice QR

  • Contenuto: 1.400 caratteri senza accenti = 1.400 byte
  • Capacità massima con livello H: 1.273 byte
  • Esito: messaggio «Contenuto troppo lungo»

Anche con meno di 1.273 byte un codice di Versione 40 ha 177 moduli per lato ed è difficile da leggere stampato. Pubblicare il testo in una pagina web e codificarne il link produce un codice molto più semplice.

⚠️ FAQ e Analisi delle Criticità Tecniche: Contrasto Cromatico, Sovrasaturazione Dati e Loghi Uncalibrated

Il Fallimento da Inversione di Contrasto Cromatico:
L'errore operativo più comune commesso dall'utenza non tecnica risiede nella scelta inadeguata delle palette di colore per il QR code. I sensori ottici delle fotocamere degli smartphone identificano i pattern di sincronizzazione (*finder patterns*) e i moduli basandosi sulla differenza di riflettanza della luce tra i punti scuri e lo sfondo chiaro. Generare un codice QR con sfondo scuro (es. nero `#000000`) e moduli chiari (es. bianco `#FFFFFF`) inverte la matrice: molti lettori d'impronta vecchi o scanner industriali falliscono la decodifica in quanto ricercano tassativamente la combinazione "moduli scuri su sfondo chiaro". Si raccomanda di mantenere sempre una differenza di contrasto pari ad almeno 4.5:1 (conforme alle linee guida di accessibilità WCAG 2.1).

Sovrasaturazione del Payload e Griglia Ingestibile (Versione 40 Collapse):
Tentare di codificare un testo molto lungo all'interno di un singolo codice QR statico costringe l'algoritmo ad elevare la simbologia fino alla Versione 40 (177x177 moduli), che con il livello H usato da questo generatore contiene al massimo 1.273 byte: oltre quella soglia il generatore mostra un messaggio di errore. La matrice risultante comprenderà oltre 31.000 micro-punti stampati. Se questo QR viene stampato su un supporto di piccole dimensioni (es. un biglietto da visita da 3x3 cm), la risoluzione di stampa fisica e l'inclinazione dell'ottica dello smartphone renderanno i singoli moduli troppo piccoli per essere distinti dai pixel del sensore, causando l'impossibilità di lettura. Per payload testuali complessi, è indispensabile sintetizzare il contenuto o utilizzare URI brevi.

Danneggiamento da Inserimento Logo Centrale Uncalibrated:
Molti designer applicano un logo grafico personalizzato al centro della matrice del codice QR sovrapponendolo brutalmente al disegno. Poiché l'immagine del logo copre e distrugge fisicamente i moduli sottostanti, se la matrice originaria era stata generata con un livello di Error Correction basso (Livello L al 7%), la perdita di dati causata dal logo supererà la capacità di recupero dell'algoritmo di Reed-Solomon, rendendo il QR del tutto illeggibile. Questo generatore usa già il Livello H (30%): un logo centrale che copra non più del 15-20% della superficie resta di norma leggibile, ma va sempre provato con più smartphone prima della stampa.

Domande Frequenti (FAQ)

I codici QR generati scadono?

No. Sono codici statici che contengono direttamente il link o il testo, senza passare da un server di reindirizzamento. Smettono di funzionare solo se la pagina a cui puntano non esiste più.

Meglio scaricare PNG o SVG?

PNG per l'uso a schermo, email e social; SVG per stampa, tipografia e cartelli, perché è vettoriale e resta nitido a qualsiasi dimensione. Entrambi includono il margine bianco richiesto dallo standard.

Posso cambiare il link dopo aver stampato il codice?

No: il link è scritto nel codice stesso. Se prevedi di cambiare destinazione, codifica un indirizzo del tuo sito che potrai reindirizzare in seguito.

Perché il telefono non riconosce il mio QR colorato?

Probabilmente il contrasto è insufficiente o i colori sono invertiti. Usa moduli scuri su sfondo chiaro: la guida del campo Colori calcola il rapporto di contrasto.