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.
Generatore di codici QR
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:
// 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 });
# pip install qrcode[pil]
import qrcode
img = qrcode.make('https://example.com')
img.save('qrcode.png')
// 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 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")
}
// 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"));
}
}
// 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.