⚙️
QR Code Generator — Backend & API
Generate QR codes server-side or in your frontend codebase. Open-source libraries for JavaScript, Node.js, Python, and PHP. No API key needed for static codes.
JavaScript / Node.js
// npm install qr-code-styling
import QRCodeStyling from 'qr-code-styling';
const qrCode = new QRCodeStyling({
width: 512,
height: 512,
type: 'svg',
data: 'https://qrlifetime.com',
dotsOptions: { color: '#4F46E5', type: 'rounded' },
backgroundOptions: { color: '#FFFFFF' },
qrOptions: { errorCorrectionLevel: 'M' },
});
// In browser: qrCode.append(document.getElementById('canvas'))
// Download: qrCode.download({ name: 'my-qr', extension: 'svg' }) Python
# pip install qrcode[pil]
import qrcode
from qrcode.image.styledpil import StyledPilImage
from qrcode.image.styles.moduledrawers import RoundedModuleDrawer
qr = qrcode.QRCode(error_correction=qrcode.constants.ERROR_CORRECT_M)
qr.add_data('https://qrlifetime.com')
qr.make(fit=True)
img = qr.make_image(
image_factory=StyledPilImage,
module_drawer=RoundedModuleDrawer()
)
img.save('qr.png') PHP
# composer require endroid/qr-code
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Writer\PngWriter;
$qrCode = QrCode::create('https://qrlifetime.com')
->setSize(512)
->setErrorCorrectionLevel(new \Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelMedium());
$writer = new PngWriter();
$result = $writer->write($qrCode);
$result->saveToFile('qr.png'); WiFi QR data format
// WiFi QR string format (RFC 4648)
const wifiData = 'WIFI:T:WPA;S:MyNetwork;P:mypassword;H:false;;';
// vCard format
const vCardData = `BEGIN:VCARD
VERSION:3.0
N:Rivera;Alex;;;
FN:Alex Rivera
ORG:Northwind
TEL:+15550001234
EMAIL:alex@example.com
URL:https://alexrivera.com
END:VCARD`; No API key needed for static codes. All these libraries run locally — no network calls, no rate limits, no billing. For dynamic QR codes (where you change the destination without reprinting), you need to host a redirect service on your own server.