← Tous les articles

Le 2D-Doc : comment un code-barres authentifie un document officiel

Publié le · 7 min de lecture

Un avis d’imposition, une carte d’identité ou une facture d’énergie porte souvent un petit carré noir et blanc, à côté de la mention « 2D-Doc ». Ce n’est pas un QR code : c’est un cachet électronique. Il contient une copie des données importantes du document et la signature de celui qui l’a émis. Voici ce qu’il y a dedans, et ce qu’une vérification établit vraiment.

Qu’est-ce qu’un 2D-Doc ?

Le 2D-Doc est un dispositif mis en place par France Titres (l’ANTS), sous mandat du ministère de l’Intérieur, pour lutter contre la fraude documentaire. Il prend la forme d’un code-barres bidimensionnel — techniquement un Data Matrix — apposé par l’émetteur du document : la DGFiP pour un avis d’imposition, l’État pour une carte d’identité, un fournisseur d’énergie pour une facture.

Le principe est celui d’un sceau. L’émetteur recopie dans le code les données essentielles du document, puis les signe avec une clé privée dont lui seul dispose. N’importe qui peut ensuite vérifier cette signature avec la clé publique correspondante, publiée dans un certificat. Si une seule lettre des données signées est modifiée, la vérification échoue.

Le 2D-Doc n’est pas chiffré : ses données sont lisibles par tout lecteur. Ce qu’il apporte n’est pas la confidentialité, mais l’intégrité et l’origine.

Ce que contient le code

Une fois décodé, le Data Matrix rend une chaîne de caractères en trois parties : un en-tête de longueur fixe, une zone de données, puis la signature. L’en-tête fait 26 caractères dans la version 04 du format, celle des documents courants — la version 03 en comptait 24, sans le pays émetteur ajouté à la fin. Il se décompose ainsi :

PositionLongueurContenu
1–22Marqueur « DC »
3–42Version du format (par exemple 04)
5–84Autorité de certification (FR01, FR04, FR06…)
9–124Identifiant du certificat de l’émetteur
13–164Date d’émission du document
17–204Date de signature
21–222Type de document
23–242Périmètre d’émission
25–262Pays d’émission

Vient ensuite la zone de données : une suite de champs préfixés par un identifiant de deux caractères. Certains ont une longueur fixe — la référence d’avis d’impôt fait toujours 13 caractères — d’autres sont de longueur variable et se terminent alors par le caractère de contrôle <GS> (ASCII 29). Le caractère <US> (ASCII 31) marque la fin de la zone de données ; la signature, encodée en base32, ferme la chaîne.

Voici le spécimen publié par l’ANTS dans ses spécifications, pour un avis d’impôt (identité fictive) :

DC04FR000001FFFF1FB60401FR432,75<GS>44227801234567845202146RETI PATRICK<GS>…
  • « DC04 » : marqueur et version du format.
  • « FR00 » et « 0001 » : l’autorité de certification et le certificat de l’émetteur.
  • « FFFF » : pas de date d’émission renseignée ; « 1FB6 » : signé le 24 mars 2022.
  • « 04 » : avis d’impôt sur les revenus ; « 01 » : périmètre ANTS ; « FR » : France.
  • « 43 » suivi de « 2,75 » : le nombre de parts. Puis « 44 » la référence d’avis, « 45 » l’année des revenus, « 46 » le nom du déclarant…

Les dates sont comptées en jours

Les deux dates de l’en-tête ne sont pas écrites en clair : ce sont des nombres de jours écoulés depuis le 1ᵉʳ janvier 2000, notés en hexadécimal sur quatre caractères. La spécification donne l’exemple du 31 décembre 2011 : 4 382 jours, soit « 111E ». Sur le spécimen d’avis d’impôt, « 1FB6 » vaut 8 118 jours, soit le 24 mars 2022 — ce qui correspond bien à l’annotation officielle. La valeur « FFFF » signifie que le document n’est pas daté.

Ce détail a une conséquence pratique : la date de signature d’un 2D-Doc est vérifiable indépendamment de ce qui est imprimé sur la page.

La chaîne de confiance

Vérifier un 2D-Doc, c’est remonter une chaîne en trois maillons. L’en-tête indique quelle autorité de certification a émis le certificat de l’émetteur, et lequel. Ce certificat est publié dans un annuaire consultable ; il contient la clé publique de l’émetteur et son identité — pour un avis d’imposition, on y lit « Direction générale des Finances publiques ». La signature du code est enfin vérifiée avec cette clé publique.

La signature utilise ECDSA sur la courbe P-256 avec l’empreinte SHA-256 ; elle porte sur l’en-tête concaténé à la zone de données. Autrement dit, elle couvre aussi bien le type de document et les dates que les valeurs elles-mêmes.

Les autorités sont identifiées FR01, FR02, FR03… et cette liste s’allonge. Les avis d’imposition récents sont signés sous l’autorité FR06, alors que les précédents relevaient de FR04 : un lecteur qui ne connaîtrait que FR04 refuserait des documents parfaitement valides.

Sur quels documents en trouve-t-on ?

Le type de document, codé sur deux caractères dans l’en-tête, indique la nature de la pièce. Les principaux :

CodeDocument
01, 02Justificatif de domicile (facture, avis de taxe d’habitation)
03Relevé d’identité bancaire
04Avis d’impôt sur les revenus
07Titre d’identité (carte nationale d’identité, titre de séjour)
18, 24, 27Avis de situation déclarative à l’impôt sur le revenu (ASDIR)
28Avis d’impôt sur les revenus, deuxième version du format

La spécification évolue régulièrement, et pas seulement à la marge : les avis d’imposition émis en 2026 sont passés du type 04 au type 28, et se sont enrichis d’un champ d’adresse absent des versions antérieures. Ces deux nouveautés ne figurent pas dans la révision 3.3.4 de juin 2024 : un lecteur — ou un article — qui s’appuierait sur une copie ancienne de la spécification ignorerait les avis que les usagers présentent aujourd’hui. C’est pourquoi les sources ci-dessous pointent vers les adresses que l’ANTS met à jour, et non vers un fichier figé.

Ce qu’un 2D-Doc valide prouve — et ce qu’il ne prouve pas

Une signature vérifiée établit deux choses, et deux seulement : les données contenues dans le code n’ont pas été modifiées depuis l’émission, et elles ont bien été signées par le titulaire du certificat annoncé.

Elle ne dit rien, en revanche, sur les points suivants :

  • Le texte imprimé sur la page. Rien n’empêche de modifier un montant dans le corps du document sans toucher au code : la signature reste valide, mais le document ment. Il faut comparer ce qui est lu sur la page à ce qui est signé dans le code.
  • L’actualité du document. Un avis d’imposition de 2022 reste authentique en 2026 — il n’est simplement plus le dernier. La DGFiP publie pour cela un service de vérification qui indique si un avis est bien le plus récent.
  • La personne qui le présente. Le 2D-Doc authentifie un document, pas son porteur.
  • La présence du code. Un document sans 2D-Doc n’est pas faux pour autant : beaucoup de pièces n’en portent pas, et une photo trop petite ou floue empêche simplement de le lire.

C’est pourquoi une vérification sérieuse recoupe trois choses : la signature du code, la concordance avec le texte imprimé, et lorsque c’est possible une confirmation auprès de l’administration émettrice.

Le vérifier soi-même

Trust My Docs lit le code, vérifie sa signature auprès de l’autorité de certification, extrait les champs du document par reconnaissance optique et compare les deux. Pour un avis d’imposition, le service interroge en plus la DGFiP pour savoir s’il s’agit du dernier avis connu. Rien n’est conservé : les fichiers sont analysés puis supprimés.

Questions fréquentes

Comment lire un code 2D-Doc ?
Il faut un lecteur qui décode le Data Matrix puis vérifie la signature : un lecteur de QR code ordinaire affichera au mieux une chaîne de caractères illisible, sans contrôler quoi que ce soit. Trust My Docs le fait dans le navigateur, gratuitement et sans compte : vous déposez le document, le service décode le code, vérifie sa signature auprès de l’autorité de certification et affiche les champs signés.
Un 2D-Doc valide garantit-il que le document est authentique ?
Il garantit que les données contenues dans le code n’ont pas été modifiées depuis l’émission et qu’elles ont été signées par le titulaire du certificat annoncé. Il ne garantit pas que le texte imprimé autour du code corresponde à ces données : une signature reste valide même si un montant a été retouché ailleurs sur la page. La comparaison entre le texte lu et les données signées est donc indispensable.
Un document sans 2D-Doc est-il faux ?
Non. Beaucoup de documents n’en portent pas, et un code peut être illisible parce que la photo est trop petite, floue ou mal cadrée. Un symbole a besoin d’environ quatre pixels par module pour être décodé : une photo de carte d’identité de 700 pixels de large ne suffit généralement pas.
Sur quels documents trouve-t-on un 2D-Doc ?
Avis d’impôt sur les revenus et avis de situation déclarative, cartes nationales d’identité et titres de séjour, justificatifs de domicile comme les factures d’énergie et les avis de taxe d’habitation, relevés d’identité bancaire. Le type de document est inscrit dans l’en-tête du code lui-même.
Comment vérifier qu’un avis d’imposition est bien le dernier ?
La signature 2D-Doc ne le dit pas : un avis de 2022 reste authentique en 2026, il n’est simplement plus le plus récent. La DGFiP publie un service de vérification qui, à partir du numéro fiscal et de la référence de l’avis, confirme les données qu’elle détient. Trust My Docs interroge ce service automatiquement pour les avis d’imposition.

Sources

Vérifiez un document portant un 2D-Doc, gratuitement et sans compte.

Vérifier un document →