BarcodeSheets

API de imágenes de código de barras

Una URL, una imagen de código de barras — sin clave, sin SDK y sin registro. Apunta a ella una etiqueta HTML <img>, un enlace de Markdown o una fórmula de hoja de cálculo y funciona sin más.

Código de barras de ejemplo que codifica «SKU-12345»

En vivo — esta imagen la genera ahora mismo el endpoint de abajo.

https://www.barcodesheets.com/api/barcode?data=SKU-12345&type=code128

Parámetros

ParámetroPredeterminadoLímitesDescripción
dataobligatorio1–256 caracteresEl valor que se va a codificar. Los dígitos de control (EAN-13, UPC-A, ITF-14, ISBN, …) se completan automáticamente — la misma regla que en el generador del sitio. Codifica los caracteres especiales en la URL (un + literal se lee como un espacio, según la convención habitual de las cadenas de consulta que ya esperan todos los consumidores de URL y de =IMAGE()).
typecode128un id de simbología admitido (ver la tabla de abajo)Qué simbología de código de barras se renderiza.
scale31–8Multiplicador del ancho de módulo. Los valores más altos dan una imagen más grande y de mayor resolución — súbelo para imprimir, bájalo para una incrustación pequeña dentro del texto.
fmtpngpng o svgFormato de imagen devuelto. El SVG escala a cualquier tamaño sin pérdida de calidad; el PNG es la opción predeterminada más segura para hojas de cálculo y CMS que no muestran SVG.
addonningunoexactamente 5 dígitos — solo con isbnSuplemento de precio EAN-5, se aplica únicamente con type=isbn (equivale al campo de suplemento de precio del generador de ISBN). Se ignora en cualquier otro tipo.
textvalor predeterminado de la simbología0 o 1Si se imprimen los caracteres legibles debajo de las barras. text=0 fuerza solo barras; text=1 fuerza la línea de texto; si lo omites se aplica el valor predeterminado de cada simbología (activado en la mayoría de los tipos, desactivado en Data Matrix/QR). Cualquier otro valor devuelve un 400.

Fragmentos para copiar y pegar

HTML <img>
<img src="https://www.barcodesheets.com/api/barcode?data=SKU-12345&type=code128" alt="Barcode for SKU-12345" width="300" height="100" />
Markdown
![Barcode for SKU-12345](https://www.barcodesheets.com/api/barcode?data=SKU-12345&type=code128)
Google Sheets / Excel 365 =IMAGE()
=IMAGE("https://www.barcodesheets.com/api/barcode?data=SKU-12345&type=code128")

Qué hace este endpoint

GET /api/barcode acepta los mismos parámetros data/type/scale que usa el generador del sitio y devuelve una imagen de código de barras real y renderizada — PNG de forma predeterminada, o SVG con fmt=svg — en lugar de una página web. Apunta a esa URL cualquier etiqueta HTML <img>, un enlace de imagen de Markdown o una fórmula =IMAGE() de una hoja de cálculo, y el código de barras aparece allí donde esté incrustada la URL, sin pasos intermedios de descargar y volver a subir. Los dígitos de control se completan automáticamente en los tipos de la familia GTIN, igual que en el generador — un data= de 12 dígitos con type=ean13 se convierte en la imagen devuelta en un EAN-13 real de 13 dígitos que se escanea sin problemas.

Uso razonable — límites generosos y sin clave

No hay cuenta, ni clave de API, ni autenticación de ningún tipo — todos los parámetros que necesitas están en la propia URL. Los límites son generosos a propósito en lugar de medidos: hasta 256 caracteres en data= y un rango de scale= de 1 a 8. Cada respuesta correcta lleva la cabecera Cache-Control: public, max-age=31536000, s-maxage=31536000, immutable, así que esa misma URL se guarda en caché durante un año tanto en los navegadores como en las CDN — una hoja de cálculo con mil filas que apunte a este endpoint renderiza cada código de barras único una sola vez. El abuso real es cosa de la plataforma de alojamiento, no algo que imponga esta ruta. CORS también está completamente abierto (Access-Control-Allow-Origin: * en cada respuesta, sea de éxito o de error), así que hacer fetch() a la URL desde el JavaScript de otro sitio — para dibujarla en un <canvas> o incrustarla como data URL, y no solo como una etiqueta HTML <img> — también funciona desde cualquier origen.

Tipos de código de barras admitidos

type=Código de barrasCategoría
code128Code 128General
code39Code 39General
ean13EAN-13Retail
ean8EAN-8Retail
upcaUPC-ARetail
upceUPC-ERetail
itf14ITF-14Logistics
gs1-128GS1-128Logistics
datamatrixData Matrix2D
qrcodeQR Code2D
isbnISBNRetail

Preguntas frecuentes

¿La API de códigos de barras es gratis?

Sí. GET /api/barcode es gratis y sin límite — sin clave de API, sin cuenta y sin tope por petición. Es un endpoint de imágenes público, pensado para enlazarlo desde una hoja de cálculo, un CMS o un README igual que cualquier otra URL de imagen.

¿Puedo usarla en Google Sheets?

Sí — es el caso de uso principal. Pon =IMAGE("https://www.barcodesheets.com/api/barcode?data=TU-VALOR&type=code128") en una celda (o apunta data= al valor de otra celda) y el código de barras aparece ahí mismo, y se actualiza solo si cambia el valor. Excel 365 (conectado a la nube) admite la misma fórmula =IMAGE().

¿Hay algún límite de peticiones?

El endpoint no impone por sí mismo ningún límite por clave ni por IP — los límites son deliberadamente generosos (hasta 256 caracteres de datos, scale de 1 a 8) porque está hecho para enlazar imágenes, no como producto de API medido. Cada imagen servida correctamente lleva una cabecera de caché inmutable de un año, así que una hoja de cálculo o una página que pida el mismo código de barras una y otra vez solo lo renderiza una vez; el abuso real se gestiona en la plataforma de alojamiento, no en esta ruta.

¿Qué tipos de código de barras admite la API?

Todas las simbologías que admite el generador de este sitio — Code 128, Code 39, EAN-13, EAN-8, UPC-A, UPC-E, ITF-14, GS1-128, Data Matrix, QR Code e ISBN — con el mismo id de type= que aparece en la lista de tipos de abajo y en la página de cada simbología (p. ej. /isbn para el id isbn).