Chiffres de contrôle CNPJ
Saisissez la base 112223330001 et obtenez les chiffres de contrôle 81 : le CNPJ complet est donc 11222333000181. Vous pouvez aussi coller 14 chiffres pour confirmer les deux derniers. Utile pour les factures, l'inscription des fournisseurs et le nettoyage des données. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Nombre
- 112223330001
- Mode de calcul
- Compute
- Entrée
- 112223330001
- Chiffres de contrôle
- 81
- Chiffre de contrôle 1
- 8
Un CNPJ brésilien (Cadastro Nacional da Pessoa Jurídica) se termine par deux chiffres de contrôle qui prouvent que l'identifiant d'entreprise à quatorze chiffres a été saisi ou stocké sans transposition ni erreur d'un seul chiffre. Cette capacité met en œuvre la règle officielle mod-11 de la Receita Federal utilisée sur chaque CNPJ : douze chiffres de base identifient l'inscription racine et la filiale, puis deux chiffres finaux sont dérivés avec des suites de poids fixes et une règle de reste sous onze. Utilisez le mode compute lorsque vous ne disposez que de la base à douze chiffres et avez besoin des deux chiffres de contrôle pour un formulaire, une facture ou un import de données de référence ; utilisez le mode validate lorsqu'un partenaire, un ERP ou un utilisateur envoie un CNPJ complet à quatorze chiffres et que vous avez besoin d'un indicateur valid clair plus la paire attendue pour les messages d'erreur.
Comment les chiffres de contrôle du CNPJ brésilien sont calculés
Un CNPJ compte toujours quatorze chiffres lorsqu'il est écrit sans ponctuation. Les huit premiers forment le numéro d'inscription racine attribué à la personne morale ; les quatre suivants identifient la filiale (0001 est la filiale habituelle du siège) ; les deux derniers sont des chiffres de contrôle et ne se choisissent jamais librement.
Pour calculer le premier chiffre de contrôle, multipliez les douze chiffres de base par la suite de poids 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 de gauche à droite, additionnez les produits, prenez cette somme modulo onze et mappez le reste : si le reste est inférieur à deux le chiffre est zéro, sinon c'est onze moins le reste.
Pour calculer le second chiffre de contrôle, ajoutez le premier à la base de douze chiffres et répétez le même mappage mod-11 avec les treize poids 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2. La chaîne complète de quatorze chiffres doit porter exactement ces deux chiffres finaux. L'algorithme est déterministe et local : pas d'appel réseau à la Receita Federal, pas de consultation de catalogue et pas d'horloge.
Cet outil ne vérifie pas si une entreprise est active, n'étend pas l'affichage formaté XX.XXX.XXX/XXXX-XX en statut d'inscription, et n'affirme pas qu'un checksum valide signifie que le CNPJ est autorisé pour un régime fiscal particulier : il prouve seulement que la chaîne de chiffres est bien formée selon la règle officielle mod-11. Face aux validateurs d'identifiants fiscaux multi-pays, l'intention de recherche ici est étroite : ceux qui ont besoin d'un calculateur de chiffres de contrôle CNPJ Brésil pour des bases à douze chiffres, pas d'un vérificateur général CPF ou RFC.
Où les chiffres de contrôle CNPJ s'insèrent dans les flux réels
Les équipes finance et données de référence reçoivent des bases internes d'entreprise à douze chiffres et doivent ajouter les chiffres de contrôle officiels du CNPJ avant d'écrire l'identifiant sur des factures, des fichiers de paiement bancaire ou des profils vendeur de places de marché qui rejettent les identifiants fiscaux invalides. Les portails de comptes fournisseurs valident les CNPJ à quatorze chiffres à l'onboarding des fournisseurs afin qu'une seule transposition ne crée pas un fournisseur fantôme ni un décalage de paiement.
Les jobs de qualité de données parcourent chaque colonne CNPJ d'un export CRM ou ERP, appellent le mode validate et mettent en quarantaine les lignes où valid est false — capturant à la fois les éditions humaines et les bugs de générateurs. Ne traitez pas un CNPJ qui passe le contrôle comme preuve d'inscription active auprès de la Receita Federal ou d'un régime fiscal précis ; il prouve seulement que les deux chiffres mod-11 sont cohérents avec la base à douze chiffres sous les poids standard.
Cas d’usage
Auditer les colonnes CNPJ dans les exports ERP et CRM
Validez par lots chaque CNPJ à quatorze chiffres dans un fichier fournisseurs ou clients et mettez en quarantaine les lignes dont la paire de contrôle ne correspond plus à la valeur attendue recalculée.
Questions fréquentes
Que sont les chiffres de contrôle du CNPJ brésilien ?
Ce sont les deux derniers chiffres d'un CNPJ à quatorze chiffres, calculés par deux sommes pondérées mod-11 successives afin que les erreurs de saisie et d'import soient en général détectées avant que l'identifiant soit stocké ou imprimé sur une facture.
Que se passe-t-il avec une mauvaise longueur, des lettres ou de la ponctuation ?
Les bases toutes identiques sont rejetées en compute ; les CNPJ complets tous identiques renvoient valid false en validate. Les tâches de validation en échec ne sont pas facturées.
Que signifient les groupes de chiffres d'un CNPJ ?
Les huit premiers chiffres forment la racine de l'immatriculation de l'entreprise, les quatre suivants désignent l'établissement, en général 0001 pour le siège, et les deux derniers sont des chiffres de contrôle jamais choisis librement.
Un CNPJ valide signifie-t-il que l'entreprise est active ?
Non. Réussir le contrôle montre seulement que les chiffres sont cohérents avec la règle du modulo 11. L'outil n'interroge pas la Receita Federal et ne prouve donc pas une immatriculation active.
Un CNPJ composé d'un seul chiffre répété est-il accepté ?
Non. Une base faite d'un même chiffre répété est refusée lors du calcul, et un CNPJ complet de ce type est signalé comme non valide lors de la vérification.
Outils associés
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/enc/cnpj-brazil \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"112223330001"}'const res = await fetch("https://api.kit.forhosting.com/enc/cnpj-brazil", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "112223330001"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/cnpj-brazil",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "112223330001"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/cnpj-brazil", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"112223330001"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"112223330001"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/cnpj-brazil", 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
{
"number": "112223330001"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.cnpj_brazil",
"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.
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. |
Notes techniques
Les entrées non numériques, les mauvaises longueurs et les chaînes de chiffres tous identiques échouent avec invalid_input ou valid false au lieu d'un nettoyage silencieux, afin que vous ne stockiez jamais un identifiant fiscal à moitié nettoyé. La même arithmétique pure s'exécute gratuitement dans le navigateur et au prix publié de l'API.
Contrat d'entrée, modes et comportement d'erreur
Envoyez un champ number qui ne contient que les caractères de zéro à neuf. Une mauvaise longueur est une erreur explicite qui nomme le mode et la longueur envoyée —douze pour compute, quatorze pour validate— afin que les formulaires clients puissent afficher « il faut douze chiffres » sans deviner. Les chaînes vides, le number manquant, les valeurs de mode invalides et les bases à douze chiffres toutes identiques en mode compute échouent avant qu'aucune somme pondérée ne soit digne de confiance pour le stockage et ne sont pas facturées. Préférez compute lorsque vous créez ou complétez des identifiants d'entreprise ; préférez validate lorsque vous conditionnez une recherche ou un import à un CNPJ complet d'un utilisateur ou d'un fichier partenaire. Les espaces, points, barres, tirets, lettres et points décimaux sont rejetés comme entrée non numérique avec invalid_input afin qu'une valeur nettoyée en silence n'atteigne jamais le stockage. Le mode compute est le défaut : le moteur exige exactement douze chiffres, renvoie check_digits comme chaîne de deux caractères, renvoie check_digit_1 et check_digit_2 individuellement, et renvoie with_check comme le CNPJ à quatorze chiffres que vous pouvez imprimer ou persister. Le mode validate exige exactement quatorze chiffres ; la réponse indique valid true lorsque les deux chiffres finaux correspondent aux expected_check_digits recalculés et que la chaîne n'est pas une suite toute identique comme quatorze zéros. Validate inclut toujours payload (les douze premiers chiffres), les paires de contrôle fournies et attendues, repeated_digits et length quatorze. Des alias tels que digits, cnpj et code sont acceptés pour le même champ de charge afin que les intégrations qui parlent déjà « cnpj » n'aient pas à renommer. Comme le chemin est parse pur sans horloge, source aléatoire ni réseau, le même corps JSON produit toujours le même résultat JSON sur l'outil gratuit du navigateur et sur l'API à $0.002 par requête réussie.
Où les chiffres de contrôle CNPJ s'insèrent dans les flux réels
Les formulaires d'inscription e-commerce et B2B peuvent recalculer expected_check_digits et afficher une correction amicale lorsqu'une entreprise brésilienne colle un numéro avec la dernière paire mal saisie.
Cas d'intégration
Compléter une base CNPJ à 12 chiffres pour les factures
Appelez le mode compute avec la base à douze chiffres, stockez with_check et injectez le CNPJ à quatorze chiffres dans votre NFe, virement bancaire ou profil vendeur de marketplace.
Valider des CNPJ complets saisis ou importés à l'entrée
Lorsqu'un formulaire ou un CSV envoie quatorze chiffres, appelez le mode validate et bloquez l'enregistrement si valid est false, en affichant expected_check_digits pour corriger une seule faute de frappe.
Questions techniques
Comment calculer les chiffres de contrôle CNPJ avec cette API ?
Faites un POST avec number exactement à douze chiffres et mode compute (ou omettez mode). La réponse inclut check_digits, check_digit_1, check_digit_2 et with_check (le CNPJ complet à quatorze chiffres).
Comment valider un CNPJ complet à quatorze chiffres ?
Faites un POST avec la chaîne de quatorze chiffres et mode validate. La réponse inclut valid, check_digits, expected_check_digits, payload (chiffres sans la dernière paire) et repeated_digits.
L'outil de chiffres de contrôle CNPJ Brésil est-il gratuit ?
L'outil navigateur est gratuit et s'exécute localement. Les appels API utilisent le solde prépayé KIT au prix de base publié $0.002 ; une entrée invalide n'est jamais facturée.