Biblioteca de Códigos QR en Ruby

Genera Códigos QR con Ruby

La gema rqrcode de Ruby hace que la generación de códigos QR sea simple y elegante. Perfecta para aplicaciones Rails, scripts y flujos de automatización.

Instalación

Instala la gema rqrcode usando Bundler o gem install.

Gemfile
gem 'rqrcode'
gem
gem install rqrcode

Genera Códigos QR con rqrcode

Ejemplos de código usando la gema rqrcode en Ruby.

QR Code as SVG

require 'rqrcode'

qr = RQRCode::QRCode.new('https://qrcode.fun')

svg = qr.as_svg(
  offset: 0,
  color: '1A2B3C',
  shape_rendering: 'crispEdges',
  module_size: 6,
  standalone: true
)

File.write('qrcode.svg', svg)

QR Code as PNG

require 'rqrcode'

qr = RQRCode::QRCode.new('https://qrcode.fun')

png = qr.as_png(
  bit_depth: 1,
  border_modules: 4,
  color_mode: ChunkyPNG::COLOR_GRAYSCALE,
  color: 'black',
  file: nil,
  fill: 'white',
  module_px_size: 6,
  resize_exactly_to: false,
  resize_gte_to: false,
  size: 300
)

IO.binwrite('qrcode.png', png.to_s)

Rails Controller

class QrCodesController < ApplicationController
  def show
    qr = RQRCode::QRCode.new(params[:data] || 'https://qrcode.fun')
    svg = qr.as_svg(module_size: 6, standalone: true)

    render inline: svg, content_type: 'image/svg+xml'
  end
end
QRCode.fun API

Genera Códigos QR vía API en Ruby

Llama a la API de QRCode.fun desde Ruby usando Net::HTTP o Faraday para códigos QR estilizados.

Integración de API en Ruby
require 'net/http'
require 'json'

uri = URI('https://qrcode.fun/api/generate-qr-styled')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request.body = {
  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' }
}.to_json

response = http.request(request)
result = JSON.parse(response.body)
puts result['data'][0..49]

Vista Previa de Código QR en Vivo

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

Vista previa QR

Biblioteca Nativa vs API

Compara el uso de rqrcode con la API de QRCode.fun.

CaracterísticaGema rqrcodeQRCode.fun API
Complejidad de configuracióngem install + ChunkyPNG para imágenesUna sola solicitud HTTP
PersonalizaciónColores, tamaño de módulo (SVG/PNG)Estilizado completo: colores, formas, logotipos
Soporte sin conexiónRequiere internet
Mantenimientobundle updateSiempre actualizado
Formatos de salidaSVG, PNG, terminal ANSIPNG, SVG

Casos de Uso de Códigos QR en Ruby

Escenarios comunes para códigos QR en aplicaciones Ruby.

Aplicaciones Rails

Genera códigos QR en controladores Rails para perfiles de usuario, boletos de eventos y configuración de autenticación de dos factores.

Trabajos en Segundo Plano

Crea códigos QR de forma asíncrona con Sidekiq o Active Job para generación de etiquetas por lotes y campañas de correo electrónico.

Endpoints de API

Construye endpoints de API que devuelven códigos QR como imágenes o SVG para aplicaciones móviles e integraciones de terceros.

Scripts de Automatización

Escribe scripts Ruby para generar códigos QR en masa para inventario, etiquetado de activos y gestión de eventos.

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

La elegante sintaxis de Ruby y el ecosistema Rails hacen que la generación de códigos QR sea simple y productiva para aplicaciones web.

Controladores Rails, Vistas y Active Storage

En Rails, genera códigos QR en controladores usando rqrcode y sírvelos como SVG en línea o descargas PNG. Usa Active Storage para persistir códigos QR generados como adjuntos de modelos — adjunta un código QR a un registro de Ticket o Product. El cacheo de fragmentos de Rails con claves de caché basadas en el contenido QR evita la generación redundante. En aplicaciones Hotwire/Turbo, genera códigos QR del lado del servidor y entrégalos mediante Turbo Frames para actualizaciones dinámicas sin recargas completas de página.

Procesamiento en Segundo Plano con Sidekiq

Para la generación masiva de códigos QR, delega el trabajo a workers de Sidekiq. Crea un GenerateQrCodeJob que produzca códigos QR para escenarios por lotes como venta de entradas para eventos, etiquetado de productos o campañas de correo. Usa la función de lotes de Sidekiq para rastrear la finalización de grandes ejecuciones de generación de QR. El cacheo en Redis con una clave basada en contenido (Digest::SHA256) previene la generación duplicada entre workers y sirve resultados cacheados para solicitudes repetidas.

Ecosistema de Gemas: rqrcode, ChunkyPNG y MiniMagick

El ecosistema de gemas de Ruby proporciona pipelines flexibles de renderizado de códigos QR. rqrcode genera la matriz QR, luego ChunkyPNG la renderiza a PNG sin dependencia de ImageMagick — ideal para despliegues en contenedores. MiniMagick permite post-procesamiento avanzado: agregar logotipos, esquinas redondeadas y fondos con degradado. Para salida SVG, el renderizador SVG integrado de rqrcode crea códigos QR independientes de resolución, perfectos para diseños web responsivos y materiales impresos.

Preguntas Frecuentes

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

rqrcode es la gema de Ruby más popular y bien mantenida para generación de códigos QR. Soporta salida SVG y PNG y se integra bien con Rails.

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 Ruby

Usa nuestro generador gratuito o integra la API en tus aplicaciones Ruby y Rails.