Profesionální generátor QR kódů
Generujte QR kódy přímo v prohlížeči, podporuje styly (tvar/umístění bodů), gradienty, logo, okraje a sdílení. Data se nenasílají na server, je to zcela zdarma a bez vodoznaku.
Generátor QR kódů
Stažené obrázky neobsahují žádné vodoznaky a nástroj je k použití zdarma navždy.
Postup použití
- Vyberte typ (URL, text, WiFi, vCard, SMS, e-mail), zadejte nebo vložte obsah
- Upravte velikost, okraj, barvy, úroveň korekce chyb a styly (tvar/umístění bodů), gradienty, logo, okraje atd.
- Vyberte formát PNG nebo SVG
- QR kód se automaticky vygeneruje; po dokončení můžete kliknout na tlačítko “Stáhnout” nebo “Zkopírovat”
- Při použití loga nebo složitých stylů doporučujeme zvýšit úroveň korekce chyb na H a ponechat dostatek klidné zóny (prázdný okraj)
- Při tisku nebo zobrazení zajistěte vysoký kontrast mezi přední a základní barvou, aby se zabránilo malé velikosti a nadměrnému zkreslení
Funkční vlastnosti
- Generováno čistě na straně klienta (data se nenasílají na server)
- Podporuje výstup ve formátu PNG a SVG
- Styly jsou přizpůsobitelné: tvar, umístění bodů, zaoblené rohy, mezery
- Gradienty (více barev, více směrů)
- Přidání loga (volitelně s automatickým zvýšením úrovně korekce chyb)
- Okraje a obrysy (styly s zaoblenými kartami)
- Sdílení a kopírování do schránky (odkazy/obrázky)
- Podpora více jazyků a témat
Co jsou hledací body (Finder)?
Tři velké čtverce ve čtyřech rohy QR kódu se nazývají hledací body (Finder) a slouží k tomu, aby pomohly fotoaparátu rychle najít polohu a úhel QR kódu, což umožňuje korekci a dekódování. Obvykle mají černobílé 7×7 modulární strukturu (vnější černá, vnitřní bílá, středová černá).
- Účel: Rychlé lokalizace, odolnost vůči rotaci a perspektivě.
- Styl: Tento nástroj podporuje vykreslování hledacích bodů ve tvaru čtverců, s zaoblenými rohy a ve “bodkovaném stylu” (vyberte v části Styl → Finder).
Kdo vynalezl QR kód?
QR kód (QR Code) byl vynalezen v roce 1994 inženýrem Masahiro Hara z japonské společnosti Denso Wave. QR je zkratka pro “Quick Response” (Rychlá reakce).
- Motivace k vynálezu: Zvýšení účinnosti identifikace v výrobním řetězci automobilových dílů a překonání omezení kapacity a rychlosti čtení jednorozměrných kódů.
- Nápad na design: Černé a bílé hrací kameny go a maticové vzory inspirovaly robustní design založený na “modulárnosti + lokalizačním grafu”.
- Proč se neplatí patentová poplatek: Společnost Denso Wave vlastní ochrannou známku a některé patenty, ale explicitně je uvolnila ke svobodnému použití, aby podpořila šíření této technologie (je možné ji použít komerčně bez licenčních poplatků).
Normy a doporučení pro použití
- Mezinárodní norma: ISO/IEC 18004 (Specifikace 2D QR kódu), která definuje verze, masky, korekci chyb, grafickou strukturu atd.
- Úroveň tolerance na chyby: Čtyři úrovně L/M/Q/H (přibližně 7%/15%/25%/30% dat lze obnovit), při překrytí s logem doporučujeme použít vyšší úroveň.
- Kódovaný obsah: Text, URL, vCard, Wi-Fi atd., doporučujeme dodržovat příslušné normy URI/datového formátu (např.
WIFI:T:WPA;S:SSID;P:PASS;;). - Tisk a zobrazení: Ujistěte se, že je dostatečný kontrast mezi popředím a pozadím a velikost tichého okraje; vyhněte se nadměrnému zkreslení, příliš malé velikosti a příliš hustým texturám.
- Přístupnost: V důležitých případech doporučujeme poskytnout alternativní text/odkaz, abyste se vyhnuli tomu, že by byl QR kód jediným vstupním bodem.
Generování QR kódů pomocí programovacích jazyků
Níže jsou uvedeny nejjednodušší příklady pro běžné programovací jazyky, které jsou vhodné pro začátečníky a pro vytváření základních kostek aplikací:
// 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();
}
Poznámka: Různé knihovny se velmi liší v podporovaných možnostech stylování. Pokud potřebujete pokročilé styly (bodkované, gradienty, styly hledacích bodů, okraje atd.), můžete použít tento nástroj k vygenerování PNG/SVG a použít je přímo.