Validez et convertissez les ISBN-10 et ISBN-13
Un ISBN peut sembler correct tout en contenant un chiffre mal saisi, et passer de dix à treize chiffres ne consiste pas simplement à ajouter ou retirer un préfixe.
Lancer gratuitement
Ce validateur normalise les espaces et traits d’union usuels, reconnaît le format par sa longueur, vérifie toute la somme de contrôle et renvoie des ISBN-10 et ISBN-13 canoniques. Il refuse les identifiants mal formés et les contrôles erronés au lieu de produire une conversion vraisemblable mais dangereuse. Le calcul est déterministe, sans accès réseau, et convient aux catalogues, imports, maisons d’édition et stocks de livres.
Validez avant d’enregistrer ou de convertir
Un ISBN est un identifiant doté d’un chiffre de contrôle mathématique, et non la preuve qu’un ouvrage donné existe. Cet outil retire d’abord les espaces et traits d’union usuels, puis applique la règle correspondant à la longueur détectée. Pour l’ISBN-10, les dix positions reçoivent des poids décroissants de dix à un, et le dernier caractère peut être X pour représenter dix. Pour l’ISBN-13, des poids alternés de un et trois déterminent le dernier chiffre décimal. Toute divergence produit une erreur d’entrée afin que le traitement suivant ne reçoive jamais une conversion calculée depuis une source mal saisie. Cette garantie est particulièrement utile lors d’imports massifs, où accepter silencieusement un chiffre fautif peut créer des doublons ou attribuer un stock à la mauvaise édition. L’indicateur de validité confirme le calcul et le format d’entrée précise la règle appliquée. Les deux identifiants sont renvoyés sous forme de chaînes canoniques sans tirets, prêtes à être comparées, indexées ou transmises sans conserver une ponctuation incohérente.
Comprenez le mécanisme de conversion
La conversion d’un ISBN-10 en ISBN-13 conserve les neuf premiers chiffres, abandonne l’ancien caractère de contrôle, ajoute le préfixe éditorial 978 et calcule un nouveau chiffre ISBN-13. L’opération inverse existe pour les ISBN-13 commençant par 978 : le préfixe et le contrôle à treize chiffres sont retirés, puis le contrôle ISBN-10 est recalculé à partir des neuf chiffres restants. Le nouveau caractère peut être un chiffre décimal ou X. Une conversion ne doit donc pas se limiter à découper du texte ou à recopier le contrôle existant. Les ISBN-13 commençant par 979 sont valides, mais n’ont aucun équivalent ISBN-10. L’outil valide d’abord ce numéro, puis renvoie une erreur explicite, car il ne peut honnêtement fournir les deux formats. Il n’invente pas de valeur à dix chiffres, ne remplace pas 979 par 978 et ne présente pas une transformation destructive comme une conversion. Cette distinction protège l’intégrité des identifiants lorsque vous rencontrez des plages éditoriales récentes.
Intégrez le résultat à des processus fiables
Envoyez un champ isbn sous forme de texte. Les écritures imprimées telles que 0-306-40615-2 et 978 0 306 40615 7 sont acceptées, car espaces et traits d’union ne sont que de la mise en forme. Les autres lettres, signes, longueurs incorrectes, X mal placés, préfixes EAN étrangers aux livres et contrôles invalides sont refusés. En cas de succès, conservez les champs isbn10 et isbn13 renvoyés au lieu de les reconstruire dans votre application. Vous pouvez aussi garder le format d’entrée si vous devez savoir quelle représentation le fournisseur a transmise. La capacité ne recherche ni titre, ni auteur, ni édition, ni disponibilité ; une somme correcte établit uniquement la cohérence interne. Associez-la à une source bibliographique officielle pour confirmer aussi l’identité. Comme l’algorithme repose sur une arithmétique pure sans réseau, une même entrée donne toujours la même sortie. Le navigateur convient aux contrôles ponctuels, tandis que l’API coûte $0.002 par requête et permet de valider les données avant leur arrivée dans une base, un index, une chaîne logistique ou un rapport.
Cas d’usage
Nettoyez l’import d’un catalogue d’éditeur
Refusez les identifiants mal saisis et stockez des champs ISBN-10 et ISBN-13 uniformes avant l’insertion en base.
Normalisez les annonces d’une place de marché
Convertissez les ISBN fournis par les vendeurs en valeurs canoniques sans tirets, comparables sans écart de ponctuation.
Contrôlez l’identifiant d’un livre imprimé
Collez l’ISBN de la couverture ou de la page de copyright pour repérer une erreur de transcription et obtenir l’autre format.
Questions fréquentes
Quel est le coût de cette capacité ?
Chaque requête API coûte $0.002. Vous pouvez aussi utiliser l’interface du navigateur pour un contrôle individuel.
Une somme valide prouve-t-elle que le livre existe ?
Non. Elle prouve seulement que l’identifiant est bien structuré et que son chiffre de contrôle correspond ; aucun catalogue n’est interrogé.
Les espaces et traits d’union sont-ils acceptés ?
Oui. Les espaces et traits d’union usuels sont retirés avant validation, et les identifiants renvoyés ne contiennent aucun séparateur.
Pourquoi un ISBN-13 valide en 979 ne peut-il pas être converti ?
L’ISBN-10 n’a d’équivalent que dans la plage ISBN-13 commençant par 978. Un identifiant 979 n’a pas de représentation fidèle à dix chiffres.
La lettre X peut-elle figurer dans un ISBN ?
Oui, mais uniquement comme dernier caractère de contrôle d’un ISBN-10, où elle représente dix. Un ISBN-13 ne contient que des chiffres.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/data/isbn-validate-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"isbn":"0-306-40615-2"}'const res = await fetch("https://api.kit.forhosting.com/data/isbn-validate-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"isbn": "0-306-40615-2"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/isbn-validate-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"isbn": "0-306-40615-2"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/isbn-validate-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"isbn":"0-306-40615-2"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"isbn":"0-306-40615-2"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/isbn-validate-convert", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"isbn": "0-306-40615-2"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.isbn_validate_convert",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 25 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |