Biblioteca de Códigos QR en PHP

Genera Códigos QR con PHP

PHP tiene excelentes bibliotecas de códigos QR como endroid/qr-code para aplicaciones web modernas y chillerlan/php-qrcode para generación ligera. Perfecto para Laravel, Symfony y WordPress.

Instalación

Instala las bibliotecas de códigos QR de PHP usando Composer.

Composer
composer require endroid/qr-code
Composer (alt)
composer require chillerlan/php-qrcode

Genera Códigos QR con Bibliotecas de PHP

Ejemplos de código usando bibliotecas populares de códigos QR en PHP.

Basic QR Code with endroid/qr-code
<?php
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Writer\PngWriter;

$qrCode = new QrCode('https://qrcode.fun');
$qrCode->setSize(300);
$qrCode->setMargin(10);

$writer = new PngWriter();
$result = $writer->write($qrCode);

// Save to file
$result->saveToFile('qrcode.png');

// Or output directly
header('Content-Type: ' . $result->getMimeType());
echo $result->getString();
QR Code with Logo (endroid)
<?php
use Endroid\QrCode\QrCode;
use Endroid\QrCode\Logo\Logo;
use Endroid\QrCode\Color\Color;
use Endroid\QrCode\Writer\PngWriter;
use Endroid\QrCode\ErrorCorrectionLevel;

$qrCode = new QrCode(
    data: 'https://qrcode.fun',
    size: 300,
    margin: 10,
    foregroundColor: new Color(26, 43, 60),
    backgroundColor: new Color(255, 255, 255),
    errorCorrectionLevel: ErrorCorrectionLevel::High
);

$logo = new Logo(
    path: 'logo.png',
    resizeToWidth: 80
);

$writer = new PngWriter();
$result = $writer->write($qrCode, $logo);
$result->saveToFile('qrcode_logo.png');
QRCode.fun API

Genera Códigos QR vía API en PHP

Llama a la API de QRCode.fun desde PHP usando cURL o Guzzle.

Integración de API en PHP
<?php
$payload = json_encode([
    'data' => 'https://qrcode.fun',
    'width' => 300,
    'height' => 300,
    'type' => 'png',
    'margin' => 10,
    'dotsOptions' => ['color' => '#1A2B3C', 'type' => 'rounded'],
    'cornersSquareOptions' => ['color' => '#8564C3', 'type' => 'extra-rounded'],
    'backgroundOptions' => ['color' => '#FFFFFF'],
]);

$ch = curl_init('https://qrcode.fun/api/generate-qr-styled');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $payload,
    CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
    CURLOPT_RETURNTRANSFER => true,
]);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
// $result['data'] contains the base64 PNG data URL
echo substr($result['data'], 0, 50);

Vista Previa de Código QR en Vivo

Prueba a generar un código QR con PHP ahora mismo.

Vista previa QR

Biblioteca Nativa vs API

Compara el uso de una biblioteca de códigos QR en PHP con la API de QRCode.fun.

CaracterísticaBiblioteca NativaQRCode.fun API
Complejidad de configuraciónComposer install + GD/ImagickUna sola solicitud HTTP vía cURL
PersonalizaciónColores, logotipos, etiquetas (endroid)Estilizado completo: colores, formas, logotipos
Soporte sin conexiónRequiere internet
MantenimientoComposer updateSiempre actualizado
Formatos de salidaPNG, SVG, PDF (endroid)PNG, SVG

Casos de Uso de Códigos QR en PHP

Escenarios comunes para códigos QR en aplicaciones PHP.

Laravel y Symfony

Genera códigos QR en controladores de Laravel o Symfony para perfiles de usuario, autenticación de dos factores y enlaces de pago.

Plugins de WordPress

Construye plugins de WordPress que generan códigos QR para publicaciones, productos y tipos de contenido personalizados.

Comercio Electrónico

Crea códigos QR para páginas de productos, pasarelas de pago, seguimiento de pedidos y recibos digitales.

Facturas en PDF

Incorpora códigos QR en facturas PDF usando TCPDF o FPDF para verificación de pagos y enlace de documentos.

Preguntas Frecuentes

Preguntas comunes sobre la generación de códigos QR con PHP.

endroid/qr-code es la opción con más funciones, con soporte para colores, logotipos, etiquetas y múltiples formatos de salida. chillerlan/php-qrcode es una alternativa ligera para casos de uso simples.

Comienza a generar códigos QR con PHP

Usa nuestro generador gratuito o integra la API en tus aplicaciones PHP.