Generatore di codici QR professionale

Genera codici QR localmente nel browser, supporta stili (forme/punti di localizzazione), gradienti, logo, bordi e condivisione. I dati non vengono caricati in rete, è completamente gratuito e senza filigrane.

Completamente gratuito Senza filigrane Generazione puramente locale PNG / SVG

Generatore di codici QR

Preset di stile rapido Applica con un clic e regola in seguito nelle impostazioni di stile
Impostazioni dello stile
Cornice
Impostazioni avanzate
Gradiente
Logo
Supportato solo in modalità PNG. L'immagine viene elaborata localmente e non verrà caricata.
logo preview
Suggerimento: gli stili sono validi solo per la tela PNG. La personalizzazione del rendering SVG arriverà presto.
Anteprima
L'anteprima verrà aggiornata automaticamente dopo aver inserito o modificato il contenuto e lo stile.

Le immagini scaricate non hanno alcun watermark e l'uso dell' strumento è gratuito per sempre.

Come usarlo

  • Seleziona il tipo (URL, testo, WiFi, vCard, SMS, email), inserisci o incolla il contenuto
  • Regola la dimensione, il margine, i colori, il livello di correzione degli errori, nonché lo stile (forme/punti di localizzazione), i gradienti, il logo, i bordi, ecc.
  • Seleziona il formato PNG o SVG
  • Il codice QR verrà generato automaticamente; una volta pronto, puoi 'Scaricare' o 'Copiare'
  • Quando si utilizza un logo o stili complessi, si consiglia di aumentare il livello di correzione degli errori a H e di lasciare una zona di quiete (margine vuoto) sufficiente
  • Quando si utilizza per la stampa/o la visualizzazione, assicurarsi di avere un'alta contrasto tra il primo piano e lo sfondo, evitare dimensioni troppo piccole e distorsioni eccessive

Caratteristiche

  • Generazione puramente front - end (senza caricamento in rete)
  • Supporto per l'output in formato PNG e SVG
  • Stile personalizzabile: forme, punti di localizzazione, angoli arrotondati, spazi
  • Gradienti (multi - colore, multi - direzione)
  • Sovrapposizione del logo (con opzione di aumento automatico del livello di correzione degli errori)
  • Bordi e contorni (stile carta con angoli arrotondati)
  • Condivisione e clipboard (link/immagine)
  • Supporto per più lingue e temi

Cos'è il Finder?

I tre grandi quadrati negli angoli del codice QR sono chiamati Finder e servono a aiutare la fotocamera a trovare rapidamente la posizione e l'angolo del codice QR, consentendo correzione di distorsione e decodifica. Di solito hanno una struttura modulare 7×7 a bande bianche e nere (nero esterno, bianco interno, nero al centro).

  • Funzione: Posizionamento rapido, resistenza alla rotazione e alla prospettiva.
  • Stile: Questo strumento supporta il rendering di Finder a forma quadrata, con angoli arrotondati e "a punti" (selezionabili in Stile → Finder).

Chi ha inventato il codice QR?

Il codice QR è stato inventato nel 1994 dall'ingegnere Masahiro Hara della società giapponese Denso Wave. QR è l'acronimo di "Quick Response".

  • Motivazione dell'invenzione: Aumentare l'efficienza di identificazione nelle linee di produzione di componenti per automobili, superando i limiti di capacità e velocità di lettura dei codici a barre monodimensionali.
  • Ispirazione per il design: I pezzi di go bianchi e neri e i motivi a matrice hanno ispirato il design robusto basato su "moduli + figure di posizionamento".
  • Perché non si pagano le licenze: Denso Wave detiene il marchio e alcuni brevetti, ma ha chiesto espressamente di renderli gratuiti per promuovere la diffusione dell'ecosistema (sono consentiti usi commerciali senza pagare licenze).

Norme e suggerimenti per l'uso

  • Norma internazionale: ISO/IEC 18004 (Specifiche per i simboli 2D QR Code), che definisce le versioni, le maschere, la correzione degli errori e la struttura grafica.
  • Livello di tolleranza agli errori: Quattro livelli L/M/Q/H (circa il 7%/15%/25%/30% è recuperabile). Si consiglia di utilizzare livelli più elevati per la sovrapposizione di logo.
  • Contenuto codificato: Testo, URL, vCard, Wi‑Fi, ecc. Si consiglia di seguire le relative norme per i formati URI/dati (ad esempio WIFI:T:WPA;S:SSID;P:PASS;;).
  • Stampa e visualizzazione: Assicurarsi di avere un contrasto sufficiente tra primo piano e sfondo e di mantenere le zone di quiete di dimensioni appropriate; evitare eccessiva distorsione, dimensioni troppo piccole e texture troppo dense.
  • Accessibilità: In occasioni cruciali, si consiglia di fornire un testo o un collegamento alternativo per evitare di usare il codice QR come unico punto di accesso.

Generazione di codici QR con linguaggi di programmazione

Di seguito sono riportati esempi semplici per i linguaggi più comuni, utili per l'apprendimento e la creazione di scheletri di codice:

JavaScript(Node/Browser)
// Node: npm i qrcode
const QRCode = require('qrcode');
QRCode.toFile('qrcode.png', 'https://example.com', { errorCorrectionLevel: 'M' });

// Browser (Canvas):
// <script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/browser.min.js"></script>
QRCode.toCanvas(document.getElementById('canvas'), 'Hello QR', { width: 256 });
Python
# pip install qrcode[pil]
import qrcode
img = qrcode.make('https://example.com')
img.save('qrcode.png')
PHP
// composer require endroid/qr-code
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Writer\PngWriter;

$qr = QrCode::create('https://example.com');
$writer = new PngWriter();
$result = $writer->write($qr);
$result->saveToFile(__DIR__.'/qrcode.png');
Go
// go get -u github.com/skip2/go-qrcode
package main

import "github.com/skip2/go-qrcode"

func main() {
    qrcode.WriteFile("https://example.com", qrcode.Medium, 256, "qrcode.png")
}
Java
// Maven: com.google.zxing:core, com.google.zxing:javase
// Minimal ZXing example
import com.google.zxing.BarcodeFormat;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;

public class Main {
  public static void main(String[] args) throws Exception {
    QRCodeWriter writer = new QRCodeWriter();
    BitMatrix matrix = writer.encode("https://example.com", BarcodeFormat.QR_CODE, 256, 256);
    BufferedImage image = MatrixToImageWriter.toBufferedImage(matrix);
    ImageIO.write(image, "png", new File("qrcode.png"));
  }
}
Rust
// Cargo.toml
// qrcode = "0.13" 
// image = "0.24"

use qrcode::QrCode;
use image::Luma;

fn main() {
    let code = QrCode::new("https://example.com").unwrap();
    let image = code.render<Luma<u8>>().min_dimensions(256, 256).build();
    image.save("qrcode.png").unwrap();
}

Nota: Le funzionalità di stile supportate dalle diverse librerie possono variare notevolmente. Per stili avanzati (punti, gradienti, stili di Finder, bordi esterni, ecc.), è possibile generare PNG/SVG con questo strumento e utilizzarli direttamente.