Q
QRLifetime
Codes never expire
EN DE FR ES
⚙️

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.
Try the visual generator → Barcode generator →