Decodificador de Código de Barras
Decodifica códigos de barras de imágenes en línea. Sube, arrastra o pega imágenes. Todo se procesa en tu navegador.
Arrastra y suelta una imagen de código de barras aquí
Soporta PNG, JPG, GIF, BMP, WebP y otros formatos de imagen comunes
También puedes usar Ctrl+V para pegar una imagen del portapapeles
¿Qué es un Decodificador de Código de Barras?
Un decodificador de código de barras es una herramienta técnica que lee y decodifica imágenes de códigos de barras para recuperar su contenido original. Al subir una imagen que contiene un código de barras, la herramienta reconoce automáticamente y decodifica la información numérica o de texto almacenada. Soporta formatos comunes de códigos de barras 1D incluyendo CODE128, EAN-13, EAN-8, CODE39, UPC-A, UPC-E, Codabar e ITF, así como formatos 2D como QR Code, Data Matrix, PDF417 y Aztec. Esta herramienta se ejecuta completamente en tu navegador — tus imágenes nunca salen de tu dispositivo.
Cómo usar
Cómo usar
- Haz clic en el área de carga para elegir una imagen de código de barras, o arrastra y suelta una imagen en el área
- También puedes usar Ctrl+V (Cmd+V en Mac) para pegar una imagen desde el portapapeles
- La herramienta detecta y decodifica automáticamente el contenido del código de barras
- El resultado decodificado aparece debajo, con el formato del código de barras y el tipo de contenido
- Haz clic en el botón 'Copiar Resultado' para copiar el contenido decodificado, o abre la URL directamente si es un enlace
Consejos de decodificación
- Usa una imagen nítida y de alto contraste con el código de barras completamente visible; el desenfoque, los reflejos, los recortes y la distorsión de perspectiva reducen la precisión del reconocimiento.
- Si se decodifica una URL o un código de producto, verifica el destino o el identificador antes de usarlo en registros de producción.
Casos de uso
Principio técnico
Un código de barras 1D (UPC, EAN, Code 39, Code 128, ITF, Codabar) es una secuencia de barras y espacios paralelos cuyos anchos codifican dígitos, letras o el rango ASCII completo. Un código de barras 2D (QR Code, Data Matrix, PDF417, Aztec) es un patrón bidimensional de módulos (celdas) dispuestos sobre una zona silenciosa, generalmente con tres patrones de detección de posición en las esquinas para la orientación. La decodificación de un código de barras es el proceso inverso: imagen → preprocesamiento → localizar el símbolo → medir anchos de barras/espacios (o muestrear la cuadrícula 2D) → buscar en la tabla de codificación → aplicar un checksum para validar el resultado. El pipeline de imagen es importante. La imagen fuente pasa por conversión a escala de grises (luma = 0,299 R + 0,587 G + 0,114 B, los pesos Rec. 601), luego un umbral global o adaptativo (el método de Otsu elige un umbral que maximiza la varianza inter-clase, que funciona para la mayoría de escaneos bien iluminados; el umbral adaptativo de Sauvola maneja mejor la iluminación desigual). La detección de bordes (kernel Sobel: 3×3 Gx y Gy) encuentra las transiciones verticales de barras; una transformada de Hough sobre esas líneas da la orientación; el análisis de componentes conectados encuentra luego el rectángulo delimitador del símbolo. La zona silenciosa (el margen blanco obligatorio alrededor del símbolo, 10× la dimensión X para QR Code, 9× el ancho de barra para Code 128) se verifica antes de aceptar el símbolo como candidato válido. Para códigos 1D, el decodificador mide la dimensión X (el ancho de la barra más estrecha, la longitud unidad) y lee los anchos de barra-espacio como múltiplos de X. Un carácter Code 39 son 9 barras + 9 espacios (uno de los cuales es un espacio inter-carácter); 3 de los 9 elementos son anchos (representando 1) y 6 son estrechos (representando 0). Un carácter Code 128 son 11 módulos: un patrón de inicio, 6 barras/espacios codificados y un patrón de parada. Cada carácter es por tanto 11 módulos; 11 × número_de_caracteres + 13 (para inicio + parada + verificación + zona silenciosa) da el ancho del símbolo. Code 128 tiene tres conjuntos de codificación: A (mayúsculas + control), B (mayúsculas + minúsculas), C (dígitos emparejados 00-99) — los códigos de cambio de conjunto permiten al codificador elegir el conjunto más eficiente por subcadena. Para códigos 2D, el algoritmo difiere. QR Code usa corrección de errores Reed-Solomon (nivel EC L/M/Q/H añade 7%, 15%, 25%, 30% de redundancia) y un patrón de máscara configurable (uno de 8; el codificador elige el que minimiza la puntuación de penalización). Tras el enmascaramiento, el flujo de bits se coloca en una cuadrícula cuadrada de 21×21 (Versión 1) hasta 177×177 (Versión 40) módulos; los tres patrones de búsqueda de 7×7 en las esquinas y los patrones de alineación de 5×5 en las esquinas interiores proporcionan orientación y escala. Data Matrix usa un diseño similar con un borde sólido en forma de L en dos lados y alternancia oscuro/claro en los otros dos. PDF417 es un código lineal apilado (17 módulos de ancho, hasta 90 filas) usado en licencias de conducir estadounidenses y tarjetas de embarque aéreo. Esta página usa la biblioteca ZXing ('Zebra Crossing'), un decodificador multi-formato de código abierto Apache-2.0 originado en el proyecto Google ZXing. ZXing ejecuta el pipeline completo (localizar → preprocesar → decodificar) y prueba cada simbología conocida en orden. Soporta UPC-A, UPC-E, EAN-8, EAN-13, Code 39, Code 93, Code 128, ITF, Codabar, QR Code, Data Matrix, PDF417 y Aztec. Para códigos 2D, la tasa de éxito con buena iluminación es ~99% en una foto 1080p; para códigos 1D es menor (~85-95%) porque la perspectiva, el desenfoque y los reflejos distorsionan los anchos de barra. Esta herramienta solo acepta entrada por imagen (subida de archivo, arrastrar y soltar o pegar desde el portapapeles); no ofrece escaneo en vivo con cámara. Los checksums importan. UPC/EAN usan un único dígito de verificación módulo 10 (suma de dígitos en posición impar × 3 + suma de dígitos en posición par, módulo 10, restado de 10). Code 128 usa un carácter de verificación módulo 103. Code 39 no requiere dígito de verificación, pero el check módulo 43 se recomienda para logística. QR Code usa EC Reed-Solomon; si el decodificador EC encuentra más errores de los que el código puede corregir, la decodificación falla. La página muestra los fallos de decodificación con la razón (discrepancia de checksum, zona silenciosa demasiado pequeña, conflicto de máscara) cuando la biblioteca lo expone.
- Los códigos de barras 1D (UPC, EAN, Code 39, Code 128, ITF) codifican datos en anchos de barra/espacio; los códigos 2D (QR Code, Data Matrix, PDF417, Aztec) codifican en una cuadrícula 2D de módulos. Ambos necesitan una zona silenciosa de ~10× el ancho unidad para ser válidos.
- Pipeline de imagen: escala de grises Rec. 601 (0,299R + 0,587G + 0,114B) → umbral Otsu o Sauvola → detección de bordes Sobel → transformada de Hough para orientación → análisis de componentes conectados para encontrar la caja delimitadora del símbolo.
- Code 128 tiene 3 conjuntos de codificación: A (mayúsculas + control), B (mayúsculas + minúsculas), C (dígitos emparejados 00-99). Los códigos de cambio de conjunto permiten al codificador elegir el conjunto más compacto por subcadena, empaquetando UPC-A '123456789012' más apretado que Code 39.
- Code 39: 9 barras + 9 espacios por carácter, 3 anchos (1) y 6 estrechos (0); carácter de inicio/parada '*'. Dígito de verificación módulo 43 opcional. Ampliamente usado en automoción, defensa y gobierno de EE.UU. (MIL-STD-1189).
- Code 93 es el predecesor de Code 128, con 9 módulos por carácter (6 datos + inicio/parada) y 47 caracteres únicos; fue reemplazado por Code 128 en la mayoría de aplicaciones, pero aún se ve en algunas farmacias canadienses y aplicaciones de USPS.
- QR Code: EC Reed-Solomon en niveles L/M/Q/H (7%/15%/25%/30% de redundancia), 8 patrones de máscara, de 21×21 a 177×177 módulos (Versión 1 a 40). Tres patrones de búsqueda de 7×7 en las esquinas proporcionan orientación; los patrones de alineación de 5×5 en versiones más grandes corrigen la distorsión de perspectiva.
- Data Matrix: borde sólido en forma de L en dos lados, alternancia oscuro/claro en los otros dos; usado para marcado de artículos pequeños en electrónica y farmacéutica (ISO/IEC 16022).
- ZXing ('Zebra Crossing', Apache-2.0, Google): el decodificador multi-formato de código abierto usado aquí. Soporta UPC-A/E, EAN-8/13, Code 39/93/128, ITF, Codabar, QR Code, Data Matrix, PDF417 y Aztec. Esta herramienta solo decodifica desde archivos de imagen (subida, arrastrar y soltar o pegar desde el portapapeles); no ofrece escaneo en vivo con cámara.
- Checksums: UPC/EAN usan módulo 10, Code 128 usa módulo 103, Code 39 usa módulo 43 opcional, QR Code usa EC Reed-Solomon. Una discrepancia de checksum indica que la imagen está corrupta, no que los datos sean incorrectos.
Ejemplos
Reconocimiento de código de barras de producto
Sube una foto de un producto del supermercado, decodifica el código de barras EAN-13 para obtener 6901234567890, luego busca el nombre del producto, fabricante, precio, etc.Recuperación de número de seguimiento
Fotografía el código de barras de la etiqueta de envío, decodifica para obtener el número de seguimiento como SF1234567890, introdúcelo en el sitio del transportista para consultar el estado logísticoDecodificación de ISBN de libro
Escanea el código de barras en la contraportada del libro, decodifica el ISBN como 9787111234567, busca en la base de datos de libros para obtener información detalladaPreguntas frecuentes
¿Qué formatos de código de barras se decodifican?
Códigos 1D habituales como CODE 128, EAN-13, EAN-8, UPC-A, UPC-E, CODE 39, CODE 93, ITF (Interleaved 2 of 5) y Codabar, además de códigos 2D como QR Code, Data Matrix, Aztec y PDF417. La página usa la librería ZXing en tu navegador para detectar y decodificar todos estos formatos a partir de una sola imagen subida.
¿Se sube la imagen para decodificarla?
No. La decodificación ocurre íntegramente en tu navegador mediante WebAssembly o JavaScript puro. Suelta la imagen y los bytes se leen localmente; no se envía nada a un servidor. Puedes verificarlo en la pestaña Network del navegador.
¿Por qué no se decodifica mi código de barras?
Causas frecuentes: la imagen está borrosa, el código está más rotado de lo que el decodificador admite, el contraste es demasiado bajo o hay reflejos. Prueba a recortar más cerca del código, subir el brillo y el contraste, y asegurarte de que la imagen tenga al menos 200-300 píxeles de ancho para el código completo. Los códigos impresos en superficie brillante fotografiados con luz directa suelen fallar.
¿Qué formatos de entrada se aceptan?
Se admiten PNG, JPEG, GIF, WebP y BMP. Sube un archivo, arrástralo y suéltalo, o pega desde el portapapeles. La imagen se carga en un canvas oculto para decodificarla; no se envía nada a un servidor.
¿Qué incluye el resultado?
El contenido de texto decodificado y el formato de código de barras detectado. Si el texto decodificado es una URL, aparece un botón para abrirla en una pestaña nueva. También se muestran el número de caracteres y el nombre del formato.
¿Se validan los dígitos de control de EAN-13?
ZXing solo devuelve un resultado cuando el código de barras pasa sus comprobaciones internas, incluido el dígito de control del formato. Si la decodificación falla, la página muestra 'No barcode detected' sin distinguir entre una imagen ilegible y un error de checksum.
¿Puedo decodificar varios códigos de una sola imagen?
La página detecta el código más nítido de la imagen. Si tienes imágenes con varios códigos, recorta cada uno por separado y súbelos uno a uno para obtener los resultados más fiables.