Dígito de control GTIN-14
Escriba los 13 dígitos 1001234567890 y obtenga el dígito de control 2, con lo que el código de caja completo es 10012345678902. Sirve para completar el GTIN-14 de una caja o revisar un código de 14 dígitos antes de que llegue al almacén. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Número
- 1001234567890
- Modo de cálculo
- Compute
- Entrada
- 1001234567890
- Dígito de control
- 2
- Con dígito de control
- 10012345678902
Los ítems comerciales que circulan como cajas, packs o unidades logísticas se identifican con un Global Trade Item Number de catorce dígitos: el GTIN-14. El primer dígito es un indicador de embalaje que distingue la unidad del GTIN de consumo; los dígitos intermedios llevan el prefijo de empresa y la referencia del artículo; el último es un dígito de control GS1 que detecta errores de un solo dígito al teclear o escanear antes de que el código llegue a un almacén o marketplace. Esta capacidad aplica la regla estándar mod-10 sobre una carga de trece dígitos —pesos contados desde la derecha, posiciones impares por tres y pares por uno— y devuelve el dígito de control más la cadena completa de catorce dígitos, o valida un código de catorce dígitos con un indicador valid explícito y el dígito esperado.
Cómo se calcula el dígito de control GTIN-14
Un GTIN-14 tiene siempre catorce dígitos. El primero es el indicador (a menudo de cero a ocho para la jerarquía de embalaje, nueve para medida variable en algunos esquemas); los dígitos del dos al trece forman el número base del ítem comercial, con frecuencia un GTIN-13 rellenado con ceros sin su propio dígito de control o un prefijo de empresa más referencia de artículo equivalente; el dígito catorce es el de control.
Para calcularlo, tome los trece dígitos de carga y recórralos de derecha a izquierda: multiplique el dígito más a la derecha por tres, el siguiente por uno, alternando, y forme el dígito de control como diez menos esa suma ponderada módulo diez, módulo diez de nuevo para que un resto cero dé dígito de control cero.
De forma equivalente, la cadena completa de catorce dígitos incluido el de control debe tener una suma ponderada GS1 múltiplo de diez cuando se aplican los mismos pesos de derecha a izquierda en las catorce posiciones. Es la misma familia de reglas mod-10 usada en GTIN-8, GTIN-12 (UPC-A), GTIN-13 (EAN-13) y GTIN-14; solo la longitud fija y la presencia del dígito indicador hacen específico al GTIN-14. El algoritmo es determinista y local: sin consulta de catálogo GS1, sin llamada de red y sin reloj.
Esta herramienta no asigna indicadores de embalaje, no dibuja la simbología ITF-14 y no afirma que un checksum válido signifique que el producto está registrado en GS1: solo demuestra que la cadena de dígitos está bien formada según la regla del dígito de control GTIN-14. 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 GTIN-14 para cargas de trece dígitos, no un comprobador general de UPC o ISBN.
Dónde encajan los dígitos de control GTIN-14 en flujos reales
Los equipos de almacén y logística reciben números internos de caja de trece dígitos —indicador más cuerpo del GTIN de consumo sin control— y deben añadir el dígito de control GTIN-14 oficial antes de imprimir etiquetas ITF-14 o GS1-128 para palés y cartones exteriores. Las aplicaciones de recepción validan códigos de catorce dígitos en el muelle para que una sola transposición no cree un SKU de caja fantasma ni un desajuste de existencias frente al ASN.
Los trabajos de calidad de datos recorren cada columna GTIN-14 de un catálogo o exportación EDI, llaman al modo validate y ponen en cuarentena las filas donde valid es false, capturando tanto ediciones humanas como errores de generadores que rellenaron mal un GTIN-13. No trate un GTIN-14 que pasa la comprobación como prueba de titularidad de marca, de jerarquía de embalaje correcta o de registro GS1; solo demuestra que el dígito mod-10 es coherente con la carga de trece dígitos bajo los pesos estándar GS1.
Qué puede hacer con ella
Auditar columnas GTIN-14 en catálogos y exportaciones EDI
Valide por lotes cada GTIN logístico de catorce dígitos en un PIM o archivo de socio y ponga en cuarentena las filas cuyo dígito de control ya no coincida con el valor esperado recalculado.
Preguntas frecuentes
¿Qué es un dígito de control GTIN-14?
Es el decimocuarto dígito de un código GTIN-14, calculado con una suma ponderada GS1 mod-10 para que los errores de un solo dígito al teclear o escanear se detecten antes de almacenar o imprimir el código de caja o pack.
¿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 GTIN-14?
La herramienta del navegador es gratuita y se ejecuta en local.
¿Qué indica el primer dígito de un GTIN-14?
Es el indicador de embalaje: distingue la caja o el paquete de la unidad que se vende al consumidor. Suele ir del 0 al 8 según el nivel de embalaje, y en algunos esquemas el 9 marca artículos de medida variable.
¿Cómo paso de un EAN-13 a un GTIN-14?
Quite el último dígito del EAN-13, ponga delante el indicador de embalaje y calcule aquí un dígito de control nuevo sobre esos 13 dígitos. El dígito de control del EAN-13 original no se reutiliza.
Herramientas relacionadas
Para desarrolladores — acceso por API
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.
Endpoint de API
¿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.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/gtin14 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"1001234567890"}'const res = await fetch("https://api.kit.forhosting.com/enc/gtin14", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "1001234567890"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/gtin14",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "1001234567890"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/gtin14", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"1001234567890"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"1001234567890"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/gtin14", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"number": "1001234567890"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.gtin14",
"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.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
La entrada no numérica y las longitudes incorrectas fallan con invalid_input en lugar de un recorte silencioso, de modo que usted nunca almacene un código de caja a medias. La misma aritmética pura se ejecuta gratis en el navegador y al precio publicado de la API para automatización.
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 —trece para compute, catorce para validate— de modo que los formularios cliente puedan mostrar «se necesitan trece 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 GTIN logísticos a partir de un indicador más la base; prefiera validate cuando condicione un escaneo de almacén, una línea ASN o la importación de un archivo de socio a un código completo de catorce dígitos. 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 trece dígitos, devuelve check_digit como cadena de un carácter y devuelve with_check como el GTIN-14 de catorce dígitos que usted puede imprimir en una etiqueta de caja o persistir en un PIM. El modo validate exige exactamente catorce dígitos; la respuesta indica valid true cuando el dígito final coincide con el expected_check_digit recalculado, e incluye siempre payload (los trece primeros dígitos), check_digit, expected_check_digit y length catorce. Se aceptan alias como digits, gtin y code para el mismo campo de carga, de forma que las integraciones que ya hablan de «gtin» 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 GTIN-14 en flujos reales
Los formularios de alta de comercio electrónico y marketplaces pueden recalcular expected_check_digit y mostrar una corrección amable cuando un vendedor pega un GTIN de caja 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.
Casos de integración
Completar un número de caja de 13 dígitos para etiquetas logísticas
Llame al modo compute con la carga de trece dígitos (indicador más base), almacene with_check y envíe el GTIN-14 de catorce dígitos a su impresora de etiquetas ITF-14 o GS1-128.
Validar GTIN-14 escaneado o tecleado en la recepción
Cuando un escáner o formulario ASN envíe catorce dígitos, llame al modo validate y bloquee el ubicado si valid es false, mostrando expected_check_digit para corregir un error de un solo dígito.
Preguntas técnicas
¿Cómo calculo un dígito de control GTIN-14 con esta API?
Haga POST con number de exactamente trece dígitos y mode compute (u omita mode). La respuesta incluye check_digit y with_check (el GTIN-14 completo de catorce dígitos).
¿Cómo valido un GTIN-14 completo de catorce dígitos?
Haga POST con la cadena de catorce dígitos y mode validate. La respuesta incluye valid, check_digit, expected_check_digit y payload (los dígitos sin el último).