Practical guides
How to verify a 2D-Doc code
The 2D-Doc is an electronically signed barcode used to check the key data on a French document. To rely on it, you need the right reader and a clear idea of what a valid signature actually guarantees.
What is a 2D-Doc?
If you handle French paperwork from abroad, you will soon meet this small square barcode. According to France Titres (in French), the public name of France’s national agency for secure documents (ANTS), the 2D-Doc is a secure scheme set up under a mandate from the Ministry of the Interior. It is a two-dimensional barcode placed on a paper or digital document, holding the document’s key data and an electronic signature of that data. For proofs of address, it rests in particular on a 2013 ministerial order (in French).
It works like any public-key signature: the issuer signs with a private key, and anyone with the matching public key can verify the result. France Titres’ process document (in French) describes it as a visible signature that only a machine can check.
Two practical points follow. First, an ordinary barcode reader will not do: according to the technical specifications (in French), the tool that verifies the signature is what gives the code any security value. Second, the same specifications state that the data is not encrypted: the code is no secret, and what it holds is personal data that your processes need to protect.
Which documents carry a 2D-Doc?
France Titres reports more than 50 types of document, on paper or digital (page read on 2 November 2026), including:
- proofs of address from energy and mobile phone providers;
- income tax notices and tax return status notices;
- payslips;
- the national ID card;
- the disability mobility card (carte mobilité inclusion);
- the Crit’Air vehicle emissions sticker.
According to a ministerial reply to the French National Assembly (in French), the code holds for example the document type, the person’s name and the issue date, along with, depending on the document, the address, the reference tax income or the net salary.
Not every document in these categories has a code: the scheme is open to private organizations (in French), which join by choice. A missing 2D-Doc is therefore no sign of fraud. On the other hand, for a French ID card or passport application, service-public.gouv.fr states that a proof of address bearing a 2D-Doc code cannot be refused.
In doubt about a document?
Analyze it for free: Docusan flags the anomalies and locates them on the document.
How to read a 2D-Doc: step by step
Officially recognized readers do exist. France Titres publishes on its 2D-Doc page the current list of mobile apps and web solutions it recognizes, along with a directory of readers. They include Otentik Code Reader, from the interministerial association that manages the visible electronic seal, and Smart Verify, from the French national printing house (Imprimerie nationale). Use this list rather than searching an app store.
Choose a recognized reader
Install an app from the France Titres list, or use a web solution from the same list. Before sending a document to an online service, check what it does with the file.
Scan the code
On paper, frame the code with your phone. For a PDF, display it on screen and scan it with another device. If you use a document scanner, the specifications require a resolution of at least 300 dpi.
Read the status
Green: the electronic signature is valid. Red: reading the code failed, and the document cannot be treated as secured by a 2D-Doc.
Compare each item with the page
This is the step people forget. The name, address, amount or date shown by the reader must match what is printed on the document. As France Titres puts it, changing the name or address with ordinary software breaks the match between the document and the code.
Put the result back in context
The name must match the person, the date must be as recent as you require, and the document type must match what you were given.
Complete the check where you can
For a tax notice, the French tax authority (in French) sets out two stages: the 2D-Doc for integrity, then its online checking service (in French) to find out whether this is the latest known notice.
If reading the code fails
A red status means the document is not secured by this code, which is not the same as being a forgery. Several causes are possible:
- A poor image: a blurred or cropped code, or a degraded photocopy. Try again with a better source.
- An old version: the specifications say the very first version of the code, used during the trial phase, is no longer expected to be supported by apps.
- A revoked certificate: in that case, verification can no longer be carried out, whenever the code was signed.
- A tampered or fabricated code: exactly what this check is meant to rule out.
In every case, ask for a fresh copy downloaded from the issuer’s customer area, or contact the issuer through its official details. If you process many documents, note also that the scheme relies on a trust list published by France Titres, which names the approved certification authorities: any in-house reading system has to take it into account.
What a 2D-Doc proves
According to France Titres, a reader lets you be sure of two things:
- The integrity of the secured data: it has not changed since signing.
- The authenticity of the code: it really was issued by the organization it names.
If the data shown also matches the page, you know that the items covered by the code have not been retouched. That is the whole point on a proof of address: the name and address are confirmed by the issuer itself, without a phone call. The check works just as well on a digital document as on a printed one.
What a 2D-Doc does not prove
The technical specifications (in French) are blunt: a correct signature indicates that this data, and only this data, is exact. That leaves several blind spots:
- The rest of the document. The code only repeats some of the data. A line item or a statement that is not in the code is not covered.
- The page itself, if nobody compares. A green status concerns the code. It does not say that the text printed next to it is the same.
- The identity of whoever presents the document. A genuine proof of address may belong to someone else, so compare it with the rest of the case file.
- The current situation. The code vouches for information as of its issue date. A person may have moved since, and an intact tax notice may no longer be the latest (in French).
- An annex, if there is one. Since version 04, a code may contain an annex placed outside the signature, and the specifications warn that this data must not be assumed reliable.
A 2D-Doc also says nothing about the file that carries it, and its absence says nothing about the document. For those questions, see how to tell if a PDF was edited and our method for verifying a document’s authenticity.
2D-Doc and file analysis: two complementary checks
Many documents have no 2D-Doc, and those that do have only part of their content covered by it. That is where a check of the file takes over. Docusan, a French document fraud detection service, analyzes the document you receive, in PDF, PNG, JPEG or TIFF format, and gives a verdict: No detection, Warning or Alert. The anomalies are located on the document, and the decision always stays with your teams.
Docusan does not contact the issuer or government databases, and it does not replace reading a 2D-Doc with a recognized reader: these are two different checks, best used together. You can use it from the platform or integrate it into your tools with its API, and your documents are never used to train our models (security and privacy).
Sources
- France Titres (ANTS): the 2D-Doc scheme, recognized readers and documentation (in French)
- France Titres (ANTS): 2D-Doc barcode technical specifications, version 3.3.2, 18 April 2024 (in French)
- France Titres (ANTS): the 2D-Doc process (in French)
- Légifrance: order of 27 September 2013 on securing proofs of address (in French)
- French National Assembly: written question 9741, reply published on 30 January 2024 (in French)
- French Senate: written question 00305, reply published on 26 January 2023 (in French)
- Service-public.gouv.fr: proof of address for an ID card or passport
- French tax authority: leaflet on the tax notice checking service (in French)
- French tax authority: details of the notice checking service (in French)
FAQ
Your questions
How do you verify a 2D-Doc?
Scan the code with a reader recognized by France Titres. If the status is green, compare the data shown with what is printed on the document: the name, address, amount and date must be identical.
Which app reads a 2D-Doc?
France Titres publishes on its website the list of apps and web solutions it recognizes, including Otentik Code Reader and Smart Verify. Check that current list rather than picking an app at random.
Can an ordinary QR code reader verify a 2D-Doc?
No. A 2D-Doc can only be read with a specific reader, and only a tool that checks the electronic signature gives the code any meaning. Simply displaying its content proves nothing.
What does a red result mean?
Reading the code failed, and the document cannot be treated as secured by a 2D-Doc. The cause may be a poor image, an old version of the code or a revoked certificate, so ask for a new copy before drawing any conclusion.
Is a French document without a 2D-Doc fake?
No. Not every issuer uses one, so its absence is no sign of fraud. Check the issuer, the consistency of the case file and the digital file itself instead.
See also
Read next
High volumes?
Automate your checks
A subscription with included pages from the Pro plan; the API, dedicated infrastructure and customized detectors with the Enterprise plan.