Biblioteca de Códigos QR en Python

Genera Códigos QR con Python

Python ofrece potentes bibliotecas de códigos QR como qrcode y segno para scripting, automatización y pipelines de datos. Genera códigos QR localmente o usa la API de QRCode.fun para estilos avanzados.

Instalación

Instala las bibliotecas de códigos QR de Python usando pip.

pip
pip install qrcode[pil]
pip (segno)
pip install segno

Genera Códigos QR con Bibliotecas de Python

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

Basic QR Code with qrcode

import qrcode

# Simple generation
img = qrcode.make('https://qrcode.fun')
img.save('qrcode.png')

# Advanced with customization
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_H,
    box_size=10,
    border=4,
)
qr.add_data('https://qrcode.fun')
qr.make(fit=True)

img = qr.make_image(fill_color='#1A2B3C', back_color='white')
img.save('qrcode_custom.png')

SVG Output with segno

import segno

qr = segno.make('https://qrcode.fun')
qr.save('qrcode.svg', scale=10)
qr.save('qrcode.png', scale=10, dark='#1A2B3C')

QR Code with Logo

import qrcode
from PIL import Image

qr = qrcode.QRCode(error_correction=qrcode.constants.ERROR_CORRECT_H)
qr.add_data('https://qrcode.fun')
qr.make(fit=True)

img = qr.make_image(fill_color='#1A2B3C', back_color='white').convert('RGB')

# Add logo
logo = Image.open('logo.png')
logo_size = img.size[0] // 4
logo = logo.resize((logo_size, logo_size))

pos = ((img.size[0] - logo_size) // 2, (img.size[1] - logo_size) // 2)
img.paste(logo, pos)
img.save('qrcode_logo.png')
QRCode.fun API

Genera Códigos QR vía API en Python

Llama a la API de QRCode.fun desde Python para generar códigos QR estilizados con colores, formas y logotipos personalizados.

Integración de API en Python
import requests

response = requests.post('https://qrcode.fun/api/generate-qr-styled', json={
    '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'
    }
})

result = response.json()
# result['data'] contains the base64 PNG data URL
print(result['data'][:50])

Vista Previa de Código QR en Vivo

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

Vista previa QR

Biblioteca Nativa vs API

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

CaracterísticaBiblioteca NativaQRCode.fun API
Complejidad de configuraciónpip install + Pillow para imágenesUna sola solicitud HTTP vía requests
PersonalizaciónColores, corrección de errores, tamaño de cajaEstilizado completo: colores, formas, logotipos
Soporte sin conexiónRequiere internet
MantenimientoActualizar paquetes manualmenteSiempre actualizado
Formatos de salidaPNG, SVG, EPS, terminalPNG, SVG

Casos de Uso de Códigos QR en Python

Escenarios comunes donde los desarrolladores de Python generan códigos QR.

Ciencia de Datos e Informes

Incorpora códigos QR en informes automatizados, notebooks de Jupyter y visualizaciones de datos enlazando a dashboards o conjuntos de datos.

Aplicaciones Web (Django/Flask)

Genera códigos QR del lado del servidor en aplicaciones Django o Flask para perfiles de usuario, boletos y tokens de autenticación.

Scripts de Automatización

Crea códigos QR en scripts de procesamiento por lotes para etiquetas de inventario, seguimiento de activos y gestión de documentos.

IoT y Raspberry Pi

Genera códigos QR en dispositivos embebidos para configuración de Wi-Fi, emparejamiento de dispositivos y compartir configuraciones.

Inmersión Profunda en el Ecosistema de Códigos QR en Python

El rico ecosistema de Python lo convierte en uno de los mejores lenguajes para la generación de códigos QR en ciencia de datos, aplicaciones web y automatización.

Patrones de Integración con Django y FastAPI

En Django, la generación de códigos QR encaja naturalmente en la capa de vistas. Crea una vista dedicada que devuelva un HttpResponse con tipo de contenido image/png, o genera URLs de datos base64 para incrustar en plantillas. Los usuarios de FastAPI pueden devolver StreamingResponse con bytes de imagen QR. Ambos frameworks se benefician del cacheo de códigos QR generados con Redis o el framework de caché de Django para evitar la generación redundante de códigos solicitados frecuentemente.

Jupyter Notebook y Flujos de Trabajo de Ciencia de Datos

El ecosistema Jupyter de Python hace de los códigos QR una herramienta poderosa para científicos de datos. Genera códigos QR en línea usando IPython.display para renderizarlos directamente en celdas del notebook. Vincula códigos QR a dashboards interactivos construidos con Plotly Dash o Streamlit. En pipelines de informes automatizados con herramientas como papermill, incrusta códigos QR que enlacen a fuentes de datos en vivo o notebooks complementarios para investigación reproducible.

Pillow, segno y Procesamiento Avanzado de Imágenes

La biblioteca qrcode se integra con Pillow (PIL) para manipulación avanzada de imágenes — agregar logotipos, aplicar degradados de color y componer códigos QR sobre materiales de marketing. segno ofrece una alternativa en Python puro que genera SVG compacto sin dependencia de Pillow, ideal para entornos de servidor con paquetes mínimos. Para sistemas de producción, la salida EPS de segno se integra con flujos de trabajo de impresión profesional, mientras que el renderizado basado en Pillow maneja contenido web dinámico.

Preguntas Frecuentes

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

La biblioteca qrcode es la opción más popular — es simple, bien mantenida y soporta Pillow para salida de imágenes. segno es una buena alternativa que ofrece salida SVG y código más compacto.

Explora Bibliotecas de Códigos QR para Otros Lenguajes

Encuentra guías de generación de códigos QR y ejemplos de código para tu lenguaje de programación preferido.

Comienza a generar códigos QR con Python

Usa nuestro generador en línea gratuito o integra la API en tus scripts de Python, aplicaciones Django o pipelines de datos.