Biblioteca de Códigos QR en Rust

Genera Códigos QR con Rust

El crate qrcode de Rust proporciona generación de códigos QR rápida y segura en memoria. Ideal para aplicaciones de alto rendimiento, WebAssembly y herramientas a nivel de sistema.

Instalación

Agrega el crate qrcode a tu Cargo.toml.

Cargo.toml
[dependencies]
qrcode = "0.14"
image = "0.25"  # For PNG output

Genera Códigos QR con Rust

Ejemplos de código usando el crate qrcode.

QR Code as SVG
use qrcode::QrCode;
use qrcode::render::svg;

fn main() {
    let code = QrCode::new("https://qrcode.fun").unwrap();
    let svg = code.render::<svg::Color>()
        .min_dimensions(200, 200)
        .build();

    std::fs::write("qrcode.svg", &svg).unwrap();
    println!("SVG QR code saved!");
}
QR Code as PNG
use qrcode::QrCode;
use image::Luma;

fn main() {
    let code = QrCode::new("https://qrcode.fun").unwrap();
    let image = code.render::<Luma<u8>>()
        .dark_color(Luma([26u8]))
        .light_color(Luma([255u8]))
        .quiet_zone(true)
        .min_dimensions(300, 300)
        .build();

    image.save("qrcode.png").unwrap();
    println!("PNG QR code saved!");
}
QRCode.fun API

Genera Códigos QR vía API en Rust

Llama a la API de QRCode.fun desde Rust usando reqwest para códigos QR estilizados.

Integración de API en Rust
use reqwest;
use serde_json::json;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = reqwest::Client::new();
    let response = client
        .post("https://qrcode.fun/api/generate-qr-styled")
        .json(&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" }
        }))
        .send()
        .await?;

    let result: serde_json::Value = response.json().await?;
    println!("{}", &result["data"].as_str().unwrap()[..50]);
    Ok(())
}

Vista Previa de Código QR en Vivo

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

Vista previa QR

Biblioteca Nativa vs API

Compara el uso del crate qrcode con la API de QRCode.fun.

CaracterísticaCrate qrcodeQRCode.fun API
Complejidad de configuracióncargo add + crate image para PNGUna sola solicitud HTTP vía reqwest
PersonalizaciónColores vía crate imageEstilizado completo: colores, formas, logotipos
Soporte sin conexiónRequiere internet
Mantenimientocargo updateSiempre actualizado
Formatos de salidaSVG, PNG (con crate image), terminalPNG, SVG

Casos de Uso de Códigos QR en Rust

Escenarios comunes para códigos QR en aplicaciones Rust.

WebAssembly

Compila la generación de QR a WASM para creación ultrarrápida de códigos QR en el navegador sin bibliotecas JavaScript.

Herramientas CLI

Construye utilidades de línea de comandos que generan códigos QR para visualización en terminal, salida de archivo o integración con portapapeles.

Servidores de Alto Rendimiento

Genera códigos QR en servidores web Actix o Axum con mínima asignación de memoria y máximo rendimiento.

Sistemas Embebidos

Ejecuta generación de códigos QR en dispositivos con recursos limitados donde las abstracciones de costo cero de Rust brillan.

Preguntas Frecuentes

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

El crate qrcode es la opción más popular. Genera códigos QR como cadenas SVG o como una matriz que puedes renderizar con el crate image.

Comienza a generar códigos QR con Rust

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