ForHosting KIT · Utilidades de desarrollo

Dígito de control UPC-A

El número de producto 01234567890 lleva el dígito de control 5, así que el UPC-A completo es 012345678905. Pegue un código entero de doce cifras de un proveedor o un lector para ver si el último dígito es correcto. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Número
01234567890
Obtiene
Modo de cálculo
Compute
Entrada
01234567890
Dígito de control
5
Con dígito de control
012345678905

Los números de producto minorista en Norteamérica casi siempre terminan con un dígito de control UPC-A: once dígitos de carga que identifican al fabricante y al artículo, más un dígito final que demuestra que toda la cadena se escribió o escaneó sin un error de un solo dígito. Esta capacidad implementa la regla estándar GTIN-12 mod-10 usada en todo UPC-A de doce dígitos: las posiciones impares desde la izquierda se ponderan por tres, las pares por uno, y el dígito de control es la cantidad necesaria para alcanzar el siguiente múltiplo de diez. Use el modo compute cuando solo disponga del número de producto de once dígitos y necesite el dígito para una etiqueta, base de datos o generador de códigos de barras; use el modo validate cuando un socio, escáner o formulario envíe un código completo de doce dígitos y necesite un indicador valid claro más el dígito esperado para mensajes de error.

Cómo se calcula el dígito de control UPC-A

Un código UPC-A tiene siempre doce dígitos. Los once primeros forman el número de producto (a menudo un prefijo de empresa GS1 más una referencia de artículo); el duodécimo es el dígito de control. Para calcularlo, recorra los once dígitos de carga de izquierda a derecha con posiciones basadas en 1: multiplique cada dígito en posición impar por tres y cada dígito en posición par por uno, sume esos productos y tome el dígito de control como (10 menos esa suma módulo 10) módulo 10.

De forma equivalente, la cadena completa de doce dígitos incluido el de control debe tener una suma ponderada múltiplo de diez bajo los mismos pesos de posición. Es la misma familia de reglas mod-10 usada en GTIN-8, GTIN-12, GTIN-13 y GTIN-14; UPC-A es específicamente la forma de doce dígitos habitual en el embalaje de EE. UU. y Canadá.

El algoritmo es determinista y local: sin consulta de catálogo, sin llamada de red y sin reloj. Esta herramienta no expande UPC-E, no inventa prefijos de país EAN-13 y no afirma que un checksum válido signifique que el producto está autorizado para la venta: solo demuestra que la cadena de dígitos está bien formada según la regla UPC-A.

Frente a validadores de códigos de barras multiformato, la intención de búsqueda aquí es estrecha: quien necesita la calculadora de dígito de control UPC-A para cargas de once dígitos, no un comprobador general de EAN o ISBN.

Dónde encajan los dígitos de control UPC-A en flujos reales

Los equipos de catálogo y PIM reciben números de producto internos de once dígitos y deben añadir el dígito de control UPC-A oficial antes de imprimir etiquetas de estantería o publicar en mercados que rechazan GTIN inválidos. Los escáneres de almacén y las aplicaciones de recepción validan códigos de doce dígitos en el muelle para que una sola transposición no cree un SKU fantasma ni un desajuste de existencias.

Los trabajos de calidad de datos recorren cada columna UPC de una exportación CSV, llaman al modo validate y ponen en cuarentena las filas donde valid es false, capturando tanto ediciones humanas como errores de generadores en uno. No trate un UPC-A que pasa la comprobación como prueba de titularidad de marca o de registro GS1; solo demuestra que el dígito mod-10 es coherente con la carga bajo los pesos estándar.

Auditar columnas UPC en exportaciones de catálogo

Valide por lotes cada UPC de doce dígitos en un CSV de PIM o de socio y ponga en cuarentena las filas cuyo dígito de control ya no coincida con el valor esperado recalculado.

¿Qué es un dígito de control UPC-A?

Es el duodécimo dígito de un código UPC-A, calculado con una suma ponderada mod-10 para que los errores de un solo dígito al escribir o escanear se detecten habitualmente antes de almacenar o imprimir el código.

¿Qué ocurre con longitud incorrecta, letras o guiones?

Las tareas de validación fallidas no se facturan.

¿Es gratuita la herramienta de dígito de control UPC-A?

La herramienta del navegador es gratuita y se ejecuta en local.

¿Cómo se calcula el dígito de control UPC-A?

Leyendo las once cifras desde la izquierda, multiplique las de posición impar por 3 y las de posición par por 1, y sume todo. El dígito de control es lo que lleva esa suma al siguiente múltiplo de diez, o 0 si ya lo es.

¿Un UPC-A es lo mismo que un EAN-13?

Pertenecen a la misma familia de reglas de control, pero el UPC-A es la forma de doce cifras, también llamada GTIN-12, habitual en envases de Estados Unidos y Canadá. Esta herramienta solo trata esa forma, no EAN-13 ni ISBN.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/enc/upc-check

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/enc/upc-check \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"number":"01234567890"}'
{
  "number": "01234567890"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.upc_check",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

La entrada no numérica y las longitudes incorrectas fallan con invalid_input en lugar de un recorte silencioso, de modo que nunca almacene un código a medias. La misma aritmética pura se ejecuta gratis en el navegador y al precio publicado de la API.

Contrato de entrada, modos y comportamiento de error

Envíe un campo number que contenga solo caracteres del cero al nueve. Una longitud incorrecta es un error explícito que nombra el modo y la longitud enviada —once para compute, doce para validate— de modo que los formularios cliente puedan mostrar «se necesitan once dígitos» sin adivinar. Las cadenas vacías, el number ausente y los valores de mode inválidos fallan antes de cualquier suma ponderada y no se facturan. Prefiera compute cuando cree o complete números de producto; prefiera validate cuando condicione una consulta o importación a un código completo de un usuario o archivo de socio. Espacios, guiones, letras y puntos decimales se rechazan como entrada no numérica con invalid_input para que un valor recortado en silencio no llegue al almacenamiento. El modo compute es el predeterminado: el motor exige exactamente once dígitos, devuelve check_digit como cadena de un carácter y devuelve with_check como el UPC-A de doce dígitos que usted puede imprimir o persistir. El modo validate exige exactamente doce dígitos; la respuesta indica valid true cuando el dígito final coincide con el expected_check_digit recalculado, e incluye siempre payload (los once primeros dígitos), check_digit, expected_check_digit y length doce. Se aceptan alias como digits, upc y code para el mismo campo de carga, de forma que las integraciones que ya hablan de «upc» no necesiten renombrar. Como la ruta es parse puro sin reloj, fuente aleatoria ni red, el mismo cuerpo JSON produce siempre el mismo resultado JSON en la herramienta gratuita del navegador y en la API a $0.002 por solicitud correcta.

Dónde encajan los dígitos de control UPC-A en flujos reales

Los formularios de alta de comercio electrónico pueden recalcular expected_check_digit y mostrar una corrección amable cuando un vendedor pega un código con el último dígito mal escrito. En todo flujo el contrato es el mismo: solo dígitos, longitud fija por modo, JSON estructurado que usted puede probar con goldens, comportamiento idéntico en navegador gratuito y API prepago, e invalid_input honesto cuando la cadena no es una secuencia pura de dígitos de la longitud correcta.

Completar un número de producto de 11 dígitos para etiquetas

Llame al modo compute con la carga de once dígitos, almacene with_check y envíe el UPC-A de doce dígitos a su impresora de códigos de barras o anuncio en el mercado.

Validar UPC-A escaneado o tecleado en la entrada

Cuando un escáner o formulario envíe doce dígitos, llame al modo validate y bloquee la consulta si valid es false, mostrando expected_check_digit para corregir un error de un solo dígito.

¿Cómo calculo un dígito de control UPC-A con esta API?

Haga POST con number en exactamente once dígitos y mode compute (o omita mode). La respuesta incluye check_digit y with_check (el UPC-A completo de doce dígitos).

¿Cómo valido un UPC-A completo de doce dígitos?

Haga POST con la cadena de doce dígitos y mode validate. La respuesta incluye valid, check_digit, expected_check_digit y payload (dígitos sin el último).

Ver la documentación completa del KIT →