# Validador de GTIN: dígito de control, longitud y prefijo

> Comprueba tus códigos GTIN, EAN y UPC: el dígito de control de GS1, la longitud y si el prefijo es de circulación restringida, de un libro o de un cupón.

URL: https://clione.ai/es/herramientas/validador-gtin/
Lang: es

Un [GTIN](/es/glosario/gtin/) es el número que identifica un producto en el comercio: el que codifican los códigos de barras [EAN](/es/glosario/codigo-ean/) y UPC del envase. Este validador lo comprueba en tres cosas que se pueden saber sin consultar a nadie: la longitud, el dígito de control y el prefijo. Es para quien tiene una tienda, o la lleva desde una agencia, y va a publicar esos códigos en sus fichas, en un [feed de productos](/es/glosario/feed-de-productos/) o en sus [datos estructurados](/es/glosario/datos-estructurados/): un código con un dígito de menos o uno cambiado no se nota en la página y deja el producto con un identificador que no identifica nada.

El validador funciona en tu navegador. No consulta ninguna base de datos y lo que pegas no sale de la página. Por eso puede decirte si un código está bien formado, pero no de quién es (lo explicamos más abajo).

## Cómo se usa

1. **Saca los códigos de tu catálogo**, por ejemplo la columna de códigos de barras de una exportación de productos.
2. **Pégalos en la caja, uno por línea**, hasta 500. Los espacios y los guiones no cuentan: `841 2345 678905` y `841-2345678905` se leen igual.
3. **Pulsa «Comprobar».** «Cargar un ejemplo» rellena la caja con seis casos: un código válido en el rango de GS1 España, el mismo código con el último dígito mal, un UPC-A de manual, un libro, un número de circulación restringida y un código al que le falta un dígito.
4. **Lee una fila por código.**

## Cómo leer el resultado

La tabla tiene cuatro columnas: el código tal como lo pegaste, su longitud, el veredicto y el resultado.

**El veredicto** tiene tres formas. «Válido» marcado como correcto: longitud y dígito de control bien. «Válido» marcado como aviso: el código está bien formado, pero su prefijo es de circulación restringida y no debería publicarse como GTIN. «No válido»: algo falla, y el resultado dice qué.

**El resultado** junta lo que el validador ha encontrado:

- «Solo se admiten dígitos.» El código tiene letras u otros signos.
- «11 dígitos: un GTIN tiene 8, 12, 13 o 14.» La longitud no es ninguna de las cuatro.
- «Todo ceros no es un GTIN.»
- «El dígito de control es 4 y debería ser 5.» El último dígito no cuadra con los demás.
- Lo que dice el prefijo, como «En el rango de GS1 España.» o «Un libro (ISBN): publícalo como isbn.».
- La propiedad de [Schema.org](/es/glosario/schema-org/) que le corresponde, como «Propiedad de Schema.org: gtin13». No sale en los códigos no válidos ni en los números de circulación restringida.

## El dígito de control, paso a paso

El último dígito de un GTIN es un dígito de control: se calcula con los demás para comprobar que el número está bien compuesto.[^gs1-calculator] El método de GS1 tiene tres pasos.[^gs1-check-digit]

1. Multiplica cada dígito por 3 o por 1, alternando, empezando por **el dígito que está justo a la izquierda del de control, que va por 3**.
2. Suma los resultados.
3. Resta esa suma de la decena igual o superior. Lo que queda es el dígito de control.

Un ejemplo con un número del prefijo 952, el que GS1 reserva para demostraciones y ejemplos de su sistema.[^gs1-prefix] Queremos el dígito de control de los doce primeros dígitos de un GTIN-13, `952123456789`:

| Dígito   | 9   | 5   | 2   | 1   | 2   | 3   | 4   | 5   | 6   | 7   | 8   | 9   |
| -------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Peso     | 1   | 3   | 1   | 3   | 1   | 3   | 1   | 3   | 1   | 3   | 1   | 3   |
| Producto | 9   | 15  | 2   | 3   | 2   | 9   | 4   | 15  | 6   | 21  | 8   | 27  |

La suma es 121. La decena igual o superior es 130, y 130 menos 121 es 9. **El GTIN-13 completo es `9521234567899`.**

Pásalo por el validador y lo dará por bueno. Ahora prueba dos errores típicos al copiar un código:

- **Un dígito cambiado.** `9521234567896` termina en 6: el validador dice que el dígito de control es 6 y debería ser 9.
- **Dos dígitos intercambiados.** `9521234567989` cambia de sitio el 8 y el 9 del final: el validador dice que el dígito de control es 9 y debería ser 1.

Y uno que no es un error de copia, sino de longitud: `952123456789`, los mismos doce dígitos sin el de control, se lee como un GTIN-12 cuyo último dígito, el 9, sería el de control, y debería ser 6. **Un dígito de más o de menos no es el mismo código**.

## Lo que dice el prefijo, y lo que no

Los primeros dígitos de un GTIN son el prefijo de GS1. **El prefijo no dice dónde se fabricó el producto**: GS1 lo advierte, porque una empresa puede fabricar en cualquier parte del mundo.[^gs1-prefix] El rango 840 a 849 es de GS1 España, y quiere decir que fue GS1 España quien dio el prefijo, no que el producto sea español.

Lo que sí importa son los rangos que cambian lo que haces con el código. El validador nombra estos, todos de la lista de GS1:[^gs1-prefix]

| Prefijo               | Qué es                                                                                               | Qué hacer                                                           |
| --------------------- | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| 020 a 029 y 200 a 299 | Números de circulación restringida dentro de una región, que define cada organización miembro de GS1 | No publicarlos como `gtin`: fuera de esa región no identifican nada |
| 040 a 049             | Números de circulación restringida dentro de una empresa                                             | Lo mismo: son números internos                                      |
| 977                   | Publicaciones periódicas (ISSN)                                                                      | Es una revista o un periódico                                       |
| 978 y 979             | Libros (ISBN)                                                                                        | Publicarlo como `isbn`                                              |
| 980                   | Vales de devolución                                                                                  | No es un producto                                                   |
| 981 a 983 y 99        | Cupones de GS1                                                                                       | No es un producto                                                   |

Cualquier otro prefijo sale como «Un prefijo de empresa de GS1.», y nada más: el validador no sabe de quién es un número.

Cómo lee el validador el prefijo: en un GTIN-13, los tres primeros dígitos; en un GTIN-12, con un cero delante, porque GS1 dice que un GTIN de 12 dígitos lleva un cero implícito delante y que el prefijo de `614141234561` es 061, no 614;[^gs1-prefix] y en un GTIN-14, saltándose su primer dígito. En un GTIN-8 no lo lee: esos números tienen sus propios rangos.

## Qué propiedad de Schema.org usar

En el marcado [Product](/es/glosario/schema-product/), Schema.org tiene una propiedad general, `gtin`, y una por longitud, que `gtin` generaliza.[^schemaorg-gtin] Google acepta la general, pero **recomienda la más específica que aplique**, y solo admite el GTIN en forma numérica, no como URL.[^google-merchant-listing] Schema.org sí admite en `gtin` una URL de GS1 Digital Link,[^schemaorg-gtin] así que el [validador de Schema.org](/es/glosario/validador-de-schema/) puede dar por bueno un valor que Google no usa.

| Longitud              | Propiedad | También se llama                                                                   |
| --------------------- | --------- | ---------------------------------------------------------------------------------- |
| 8                     | `gtin8`   | EAN-8[^schemaorg-gtin8]                                                            |
| 12                    | `gtin12`  | UPC[^schemaorg-gtin12]                                                             |
| 13                    | `gtin13`  | EAN-13; un UPC de 12 dígitos pasa a GTIN-13 con un cero delante[^schemaorg-gtin13] |
| 14                    | `gtin14`  | GTIN-14                                                                            |
| 13, prefijo 978 o 979 | `isbn`    | ISBN-13                                                                            |

El `isbn` tiene una condición: Google solo lo admite en un nodo `Book`, así que el nodo lleva los dos tipos a la vez, `"@type": ["Product", "Book"]`, y Google aconseja el ISBN en su forma de 13 dígitos.[^google-merchant-listing]

Publica cada código con la longitud que tiene. Schema.org dice que rellenar con ceros a la izquierda no hace falta y no se aconseja.[^schemaorg-gtin] El GTIN no sustituye al [SKU](/es/glosario/sku/), que es tu referencia interna, ni al [MPN](/es/glosario/mpn/), la referencia del fabricante: son [atributos de producto](/es/glosario/atributos-de-producto/) distintos y Google recomienda los tres en las [fichas de comerciante](/es/glosario/fichas-de-comerciante/).[^google-merchant-listing]

## Lo que un dígito de control válido no prueba

El dígito de control se calcula con un algoritmo a partir de los demás dígitos,[^gs1-calculator] y cualquiera puede hacerlo: acabas de hacerlo con el ejemplo. Por eso **un código válido aquí es un código bien formado, no un código asignado**. No prueba que el número esté dado a una empresa ni que corresponda al producto que tienes delante.

Eso lo responde GS1. Para usar sus claves, una empresa necesita antes un prefijo de empresa de GS1, que se pide a la organización de GS1 de su país,[^gs1-prefix] y su servicio Verified by GS1 permite buscar y verificar la información de un número de código de barras.[^gs1-verified] Si dudas de un código, sobre todo de uno que te pasó un proveedor o que salió de una hoja de cálculo, búscalo allí.

## Lo que hemos probado

Probado en: navegador y versión, fecha.

| Código          | Tipo                                             | Validador | Calculadora de GS1 | Verified by GS1 | ¿Coinciden? |
| --------------- | ------------------------------------------------ | --------- | ------------------ | --------------- | ----------- |
| `9521234567899` | Ejemplo de esta página                           |           |                    |                 |             |
|                 | GTIN-8                                           |           |                    |                 |             |
|                 | UPC de 12 dígitos y el mismo con un cero delante |           |                    |                 |             |
|                 | GTIN-14                                          |           |                    |                 |             |
|                 | ISBN-13                                          |           |                    |                 |             |
|                 | Circulación restringida                          |           |                    |                 |             |
|                 | Un dígito cambiado                               |           |                    |                 |             |
|                 | Dos dígitos intercambiados                       |           |                    |                 |             |
