Calcolo cifra di controllo EAN-13, UPC-A e Code 128
La cifra di controllo di un codice a barre è una semplice protezione aritmetica che aiuta lettori e cataloghi a rilevare errori di digitazione.
Esegui gratis nel browser
Inserisca i dati numerici, scelga EAN-13, UPC-A o Code 128 Mod-103 e la calcolatrice restituirà il valore previsto dalla simbologia. Prima del calcolo verifica la lunghezza, conserva gli zeri iniziali e opera in modo deterministico senza consultare registri. Può usarla per preparare schede prodotto, etichette, casi di prova o procedure automatiche di importazione.
Inserisca i dati, non un codice già completo
Parta dalle cifre che contengono i dati e ometta la cifra di controllo che desidera calcolare. Per EAN-13 inserisca esattamente dodici cifre: il risultato fornisce la tredicesima e restituisce anche il codice completo di tredici cifre. Per UPC-A ne inserisca esattamente undici per ottenere la dodicesima. Nelle chiamate API mantenga il valore come testo, affinché ogni zero iniziale rimanga parte del codice. La calcolatrice rifiuta spazi, punteggiatura, segni, punti decimali e qualsiasi carattere non numerico, perché una pulizia silenziosa potrebbe nascondere un errore di trascrizione. Rifiuta inoltre una quantità di cifre incompatibile con la simbologia scelta. Questo contratto esplicito è utile quando una colonna di foglio elettronico o un feed contiene formati diversi: selezioni lo standard previsto invece di dedurlo dall’input. Il calcolo conferma soltanto la coerenza matematica. Non assegna prefissi aziendali, non verifica la titolarità e non dimostra che il numero sia registrato per un prodotto reale.
Come vengono calcolate le cifre EAN-13 e UPC-A
EAN-13 e UPC-A usano lo stesso schema di pesi modulo dieci. Partendo dalla cifra dei dati più a destra e procedendo verso sinistra, la calcolatrice moltiplica le posizioni alterne per tre e uno, somma i prodotti e sceglie la cifra che porta il totale al multiplo di dieci successivo. Se la somma è già divisibile per dieci, la cifra di controllo è zero. I nomi restano importanti perché cambiano le lunghezze obbligatorie: EAN-13 contiene dodici cifre prima del controllo, mentre UPC-A ne contiene undici. Una cifra corretta rileva ogni sostituzione singola e molte trasposizioni comuni, risultando utile durante inserimento e scansione, ma non è una firma crittografica. Due o più modifiche coordinate possono talvolta mantenere lo stesso risultato. La consideri una rapida protezione strutturale e applichi poi le eventuali regole commerciali del Suo catalogo. Poiché l’operazione usa soltanto aritmetica intera fissa, gli stessi dati e la stessa simbologia producono sempre la medesima uscita nel browser e tramite API.
Gestione numerica di Code 128 Mod-103
Per Code 128 Mod-103, questa capacità utilizza il Set C, la rappresentazione compatta pensata per dati numerici in coppie. Inserisca un numero pari compreso fra due e novantotto cifre. Ogni coppia diventa una codeword Code 128 con valore da zero a novantanove. Il checksum parte dal valore 105 di Start C e aggiunge ogni codeword dei dati moltiplicata per la sua posizione, iniziando da uno. Il resto del totale diviso per 103 costituisce il valore restituito. Nella risposta JSON può occupare uno, due o tre caratteri decimali, ma rappresenta una sola codeword di controllo Code 128, non cifre stampabili da aggiungere al testo originale. Un generatore deve codificare tale parola e aggiungere il simbolo di arresto. La calcolatrice non sceglie fra i Set A, B e C e non ottimizza i passaggi; accettare soltanto cifre rende l’ipotesi di codifica esplicita e riproducibile. Utilizzi un codificatore completo se il contenuto include lettere, punteggiatura o una cifra finale isolata che richiede un cambio di set.
Casi d'uso
Preparare etichette commerciali
Calcoli l’ultima cifra EAN-13 o UPC-A prima di inviare i numeri approvati al software per etichette o barre.
Verificare una procedura di importazione
Generi valori attesi per i test dei feed e rifiuti i record la cui lunghezza non corrisponde allo standard dichiarato.
Creare test numerici Code 128
Ottenga la codeword Mod-103 del Set C per collaudare lettori, codificatori, etichette di magazzino o integrazioni.
Domande frequenti
Devo includere la cifra di controllo esistente?
No. Inserisca dodici cifre per EAN-13, undici per UPC-A oppure il carico numerico pari di Code 128.
Perché il numero deve essere inviato come testo?
Il testo conserva gli zeri iniziali. Un valore numerico JSON può perderli e modificare la lunghezza richiesta.
Un risultato corretto prova che il prodotto è registrato?
No. Dimostra solo che il valore segue la regola aritmetica scelta; non consulta registri di prodotti o aziende.
Perché Code 128 richiede un numero pari di cifre?
Questa capacità usa il Set C, che codifica numeri in coppie. Un contenuto misto o dispari richiede un codificatore completo.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Lo stesso calcolo deterministico può essere eseguito gratuitamente nel browser.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/web/barcode-check-digit \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"400638133393","symbology":"ean13"}'const res = await fetch("https://api.kit.forhosting.com/web/barcode-check-digit", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "400638133393",
"symbology": "ean13"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/barcode-check-digit",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "400638133393",
"symbology": "ean13"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/barcode-check-digit", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"400638133393","symbology":"ean13"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"400638133393","symbology":"ean13"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/barcode-check-digit", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"number": "400638133393",
"symbology": "ean13"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.barcode_check_digit",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
timeout_sec | 30 |
max_crawl_pages | 25 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |