La date de péremption est-elle dans le code-barres ?
Mis à jour le 13 septembre 2026.
Non : la date de péremption n'est pas dans le code-barres classique. L'EAN-13, les 13 chiffres sous les barres de presque tous les produits de supermarché, ne contient que l'identifiant du produit (le GTIN) : tous les pots d'une même référence portent le même code, qu'ils périment demain ou dans deux mois. Les codes 2D du système GS1, le GS1 DataMatrix et le QR code GS1 Digital Link, peuvent en revanche contenir la date limite et le lot. C'est déjà le cas des médicaments, et les caisses se préparent à lire ces codes d'ici fin 2027. Pour l'alimentaire d'aujourd'hui, la date se lit encore sur l'emballage.
Le code-barres ne porte pas la date, alors Frugalys la fait lire par la caméra, en un tap.
Que contient un code-barres EAN-13 ?
Un seul numéro : le GTIN-13, l'identifiant de la référence produit. GS1 France le résume ainsi : « l'EAN-13 ne contient finalement que le code du produit ». Ni date, ni lot, ni prix : la caisse retrouve le prix dans sa base, pas dans le code.
Les 13 chiffres se décomposent en un préfixe entreprise attribué au fabricant, un code produit propre à chaque référence, et une clé de contrôle calculée sur les douze autres pour détecter une erreur de lecture. Le pack de quatre yaourts et le pack de huit ont deux GTIN différents ; deux packs de quatre fabriqués à un mois d'écart ont le même. Le code-barres dit donc quoi, jamais jusqu'à quand : une application qui le scanne retrouve le nom, la marque et la catégorie dans une base de données, mais la date n'existe que sur l'emballage.
Les codes 2D GS1 peuvent porter la date
Un code 2D GS1 aligne plusieurs informations, chacune précédée d'un identifiant de données (AI) à deux chiffres. L'AI 17 annonce une date de péremption, l'AI 15 une date de consommation de préférence, l'AI 10 un numéro de lot, et les dates s'écrivent AAMMJJ. Le code ne porte ces données que si le fabricant les y a mises.
Le référentiel officiel des identifiants GS1 les définit ainsi, avec leur intitulé anglais :
- AI 01, « GTIN » : le produit, sur 14 chiffres (un GTIN-13 y prend un zéro devant).
- AI 17, « USE BY or EXPIRY » : la date de péremption, le champ le plus proche de la DLC, la date limite sanitaire.
- AI 15, « BEST BEFORE or BEST BY » : la date de consommation de préférence, l'équivalent de la DDM.
- AI 10, « BATCH/LOT » : le lot, jusqu'à 20 caractères. Les AI 11 et 13 portent les dates de production et d'emballage.
Un code de médicament se lit donc comme une phrase :
(01)03400935974419(10)A3005(17)121000, exemple tiré du guide
de lecture destiné aux pharmaciens. Produit, lot, puis péremption en
octobre 2012.
Le piège du jour « 00 ». Quand l'emballage
n'imprime qu'un mois (« 09 2012 »), le code écrit
120900, et par convention un jour non spécifié désigne
le dernier jour du mois. Un lecteur qui comprend « le
1er » fait périmer le produit un mois trop tôt. GS1 exige toutefois
un jour valide sur les produits de santé réglementés depuis le 1er janvier
2025.
Quatre codes, ce qu'ils contiennent vraiment
Le code que tu croises le plus souvent, l'EAN-13, est justement le seul qui ne peut jamais porter la date. Les codes 2D le peuvent, sans obligation. L'étiquette de la balance du rayon frais porte le prix, pas la date.
| Code | Ce qu'il contient | La date dedans ? | Où tu le trouves |
|---|---|---|---|
| EAN-13 (barres, 13 chiffres) | Le GTIN, rien d'autre | Non, jamais | Presque tous les produits emballés de grande consommation |
| GS1 DataMatrix (petit carré de points) | GTIN, et au choix lot (10), péremption (17), préférence (15), poids… | Oui si le fabricant l'encode | Boîtes de médicaments, où il est obligatoire en France |
| QR code GS1 Digital Link | Une adresse web avec le GTIN après /01/, parfois lot et date (?17=271231) |
Possible, souvent absente | Emballages en double marquage, à côté de l'EAN-13 ; encore peu répandu |
| Étiquette de balance | L'article et son prix, calculé selon le poids | Non, imprimée à côté | Fruits, légumes, viande, poisson, fromage vendus au poids |
Pour le poids variable, GS1 France explique que le prix « devra être porté dans le code-barres lu à la caisse du magasin ». Le guide GS1 des codes 2D en caisse montre l'étiquette de demain : un QR code portant GTIN, lot, poids net et date de péremption. C'est un exemple de mise en œuvre, pas encore ce que tu trouves en rayon.
Les médicaments le font déjà
En France, les boîtes de médicaments à usage humain portent un GS1 DataMatrix qui contient obligatoirement le code CIP13, la date de péremption et le numéro de lot. La règle s'applique aux fabricants et distributeurs en gros depuis le 31 décembre 2010. La date dans le code n'est donc pas une idée d'avenir : elle fonctionne à grande échelle.
Le guide de lecture destiné aux pharmaciens liste ces « mentions
obligatoires » : (01) pour le CIP13 sur 14
caractères, (17) pour la date d'expiration, (10)
pour le lot. Un EAN-13 peut rester sur la boîte pour les lecteurs qui ne
savent pas lire la 2D : le double marquage que l'alimentaire commence à
peine, la pharmacie l'a déjà traversé. On peut y voir deux raisons : la
traçabilité au lot y est une obligation réglementaire, et un étui en carton
se prête mieux à un petit carré net qu'un opercule marqué à la volée sur une
ligne de production.
Fin 2027 : ce qui change en caisse, et ce qui ne change pas
GS1 vise des caisses capables de lire les codes 2D partout dans le monde d'ici fin 2027, un programme que GS1 US appelle « Sunrise 2027 ». L'objectif initial porte sur la lecture du GTIN, pas de la date. Et GS1 France précise : « il n'y a aucune obligation à ce stade ».
Le guide international traduit par GS1 France retient trois codes 2D pour la caisse : le QR code et le Data Matrix avec la syntaxe GS1 Digital Link, et le GS1 DataMatrix. Trois nuances souvent oubliées :
- Les codes linéaires ne disparaissent pas. Ils « coexisteront avec les codes-barres 2D tant qu'ils seront utiles », pendant une transition « de plusieurs années probablement » selon GS1 France.
- La date reste facultative dans le code. GS1 cite la « prévention et gestion du gaspillage alimentaire » et le blocage en caisse des produits périmés parmi les usages possibles, pas parmi les obligations.
- La date imprimée reste obligatoire. Le règlement (UE) 1169/2011 range la date de durabilité minimale ou la date limite de consommation parmi les mentions obligatoires de l'étiquette. Et ce qu'elle signifie ne change pas : un produit passé sa date n'est pas toujours à jeter.
Un QR code sur un paquet ne contient pas forcément la date
Beaucoup de QR codes sur les emballages mènent à une page web, et rien d'autre. Un QR code GS1 Digital Link est une adresse qui contient le GTIN, et parfois le lot et la date. Mais GS1 note lui-même que les QR codes ajoutés à des fins marketing « ont tendance à contenir uniquement le GTIN ».
Pour savoir à quoi tu as affaire, scanne-le avec l'appareil photo et lis
l'adresse avant de l'ouvrir. Dans
https://example.com/01/09524810000339/10/YA12AB?17=271231,
exemple du guide GS1, /01/ précède le GTIN, /10/
le lot, et ?17=271231 donne la date de péremption, le 31
décembre 2027. Sans 17= dans l'adresse, le code ne connaît pas
la date de ton paquet : elle figure au mieux sur la page de la marque,
que GS1 France présente comme une « carte d'identité numérique
complète, actualisable à tout moment ».
Pourquoi une application doit encore lire la date imprimée
Puisque la plupart des produits alimentaires n'ont qu'un EAN-13, une application de suivi des dates doit scanner le code pour identifier le produit, puis lire la date imprimée par reconnaissance de caractères. Lire des chiffres est facile. Savoir lesquels forment la date ne l'est pas.
- Des formats qui changent d'une marque à l'autre : « 12/09 » sans année, « 12.09.26 », « 120926 » sans séparateur, « À consommer de préférence avant fin : 09/2027 » qui désigne un mois entier.
- Le jet d'encre : des chiffres faits de points, qu'un moteur de reconnaissance lit volontiers « 3O/O8/26 », avec des O à la place des zéros.
- Les opercules et films : reflets, impression en creux, pot rond. Parfois, rien de lisible.
- Le lot collé à la date : « L2634 » ou « AB310826 » ressemblent à des dates, sur la même ligne.
- Les autres nombres : heure d'emballage (« 03:12 »), poids, additif (« E330 »), chiffres du code-barres, date de fabrication voisine.
- L'ordre jour et mois : « 05/06/26 » est le 5 juin en France, le 6 mai à l'américaine.
Quand le tri échoue, la pire réponse est une date fausse affichée avec assurance : elle fait jeter un produit bon, ou garder un produit qui ne l'est plus. D'où le principe d'abstention détaillé dans le fonctionnement d'une application de dates de péremption.
Ce que fait Frugalys, format par format
Frugalys scanne le code-barres pour reconnaître le produit, puis sa caméra lit la date imprimée. La catégorie du produit fixe une fenêtre de dates plausibles, et sous son seuil de confiance l'application ne propose rien : tu saisis la date toi-même. La lecture n'est pas infaillible, et la saisie reste toujours possible.
Ce tableau reprend les règles du code de lecture de l'application, sans enjoliver. « Lu » veut dire que le format est reconnu ; la date n'est proposée que si elle tombe dans la fenêtre du produit et passe le seuil de confiance.
| Ce qui est imprimé | Lu ? | Interprétation |
|---|---|---|
| 12/09/26, 12.09.2026 | Oui | Jour, mois, année ; le jour en premier est nettement préféré |
| 12 SEPT 26, 12 AOÛT 2026 | Oui | Mois en lettres ou abrégé |
| 120926 | Oui | Confiance plus basse ; ignoré s'il est collé à des lettres, comme un lot |
| 12/09 | Oui | L'année en cours, ou la suivante si la date est passée |
| fin : 09/2027, SEPT 2027 | Oui | Le dernier jour du mois |
| 3O/O8/26 | Oui | Confusions O/0, I/1, S/5, B/8 réparées, avec une confiance réduite |
| LOT A3005, L2634, 03:12, 250 g, E330 | Écarté | Retiré avant la recherche de dates |
| 09/26 (mois et année) | Non | Trop ambigu : tu saisis la date |
| Date en creux, opercule illisible | Non | Rien à lire : tu saisis la date |
S'y ajoutent trois garde-fous. « À consommer jusqu'au », « DDM » ou « EXP » juste avant une date renforcent la confiance, « fabriqué le » ou « EMB » la font baisser. Une date revue sur plusieurs images gagne en confiance, parce qu'un reflet ne se répète pas. Et quand deux dates restent au coude à coude, l'application ne tranche pas à ta place.
La fenêtre plausible
Un yaourt ne périme pas en 2031
La catégorie du produit donne une durée maximale avant la date limite (21 jours pour une viande hachée, 70 pour un yaourt dans les tables de l'application). Une date lue hors de cette fenêtre est écartée, même nette : c'est souvent une fabrication ou un lot.
Le produit se range ensuite du plus pressé au moins pressé, et quand tu ouvres un pot, la date se resserre selon la durée de conservation après ouverture.
Et les codes 2D ? Le lecteur de Frugalys reconnaît aussi le GS1 DataMatrix : quand il contient une date (AI 17 ou 15), elle l'emporte sur la lecture par la caméra, et le jour « 00 » est lu comme la fin du mois. Sur l'alimentaire, c'est un bonus rare, pas le cas courant. Frugalys ne lit pas encore les QR codes GS1 Digital Link des produits : sur ces emballages, l'EAN-13 et la date imprimée servent.
Le scan, la lecture de date et l'inventaire fonctionnent hors ligne et sont gratuits, sans limite de produits. L'application existe sur iPhone, et la page d'accueil de Frugalys la présente écran par écran ; pour la situer face aux autres, le comparatif des applications de gestion du frigo met les fonctions côte à côte.
L'application
La date lue sur l'emballage, en un tap
Puisque le code EAN-13 ne contient pas la date, Frugalys la fait lire par la caméra et la propose déjà remplie. Le scan, la lecture de date et l'inventaire fonctionnent hors ligne, sur le téléphone.
Gratuit, sans limite de durée et sans compte. iPhone, iOS 16.4 ou ultérieur. Ce qui est gratuit, en détail.
Questions fréquentes
Le code-barres contient-il la date de péremption ?
Pas le code-barres classique. L'EAN-13 des produits de supermarché ne contient que le GTIN, l'identifiant du produit, identique pour tous les exemplaires d'une référence. Les codes 2D GS1 (GS1 DataMatrix, QR code GS1 Digital Link) peuvent contenir une date de péremption, une date de préférence et un lot, si le fabricant les y a encodés.
Peut-on scanner une date de péremption avec son téléphone ?
Oui, de deux façons. Si l'emballage porte un code 2D GS1 contenant la date, un lecteur compatible la lit dans le code. Sinon, cas de la plupart des produits alimentaires, la caméra lit la date imprimée par reconnaissance de caractères. Cette lecture n'est jamais infaillible : une bonne application s'abstient quand elle n'est pas sûre et laisse saisir la date.
Qu'est-ce que le GS1 DataMatrix ?
Un code-barres 2D en forme de petit carré de points, qui aligne des informations précédées d'identifiants GS1 : 01 pour le GTIN, 17 pour la date de péremption, 15 pour la date de préférence, 10 pour le lot, les dates au format AAMMJJ. En France, il figure sur les boîtes de médicaments avec le CIP13, la date de péremption et le lot.
Que signifie le QR code sur les emballages ?
Souvent, un simple lien vers le site de la marque. Un QR code GS1 Digital
Link est une adresse web qui contient le GTIN, et parfois le lot ou la date
de péremption (?17=). GS1 note que les QR codes ajoutés à des
fins marketing ont tendance à ne contenir que le GTIN : la date n'y est
donc pas garantie.
Quelle application lit la date de péremption ?
Frugalys, sur iPhone, scanne le code-barres pour reconnaître le produit puis lit la date imprimée avec la caméra, dans une fenêtre de dates plausibles pour sa catégorie. Sous son seuil de confiance, elle ne propose rien et laisse saisir la date. Elle lit aussi la date d'un GS1 DataMatrix, mais pas encore les QR codes GS1 Digital Link.
Les sources
- GS1 France, QR Code augmenté GS1 : l'EAN-13 ne contient que le code du produit, lecture en caisse visée fin 2027, transition de plusieurs années, aucune obligation.
- GS1 France, le code-barres GS1 : structure du GTIN, GS1 DataMatrix, QR Code GS1.
- GS1 France, codes à poids variable : le prix porté dans le code-barres lu en caisse.
- GS1, Les
codes-barres 2D en point de vente (traduction GS1 France, version
1.0.1, septembre 2024) : ambition 2027, codes retenus, coexistence
avec les codes linéaires, exemples Digital Link avec
?17=, QR codes marketing. - GS1, 2D Barcodes at Retail Point-of-Sale (version 1.1.0, décembre 2025, en anglais) : « The EAN/UPC family of barcodes carries only the GTIN », jour valide exigé en santé depuis 2025.
- GS1, référentiel des Application Identifiers : AI 01, 10, 15 et 17.
- GS1 US, What is GS1 Sunrise 2027 ? (en anglais).
- Guide des bonnes pratiques de lecture du code à barres 2D GS1 DataMatrix (PDF destiné aux pharmaciens, hébergé par France MVO) : mentions obligatoires, échéance du 31 décembre 2010, jour « 00 ».
- Règlement (UE) n° 1169/2011, texte sur EUR-Lex : article 9, mentions obligatoires.
GS1 ne publie pas la part des produits alimentaires vendus en France qui portent déjà un code 2D avec la date : dire que ces codes restent rares est un constat d'ordre général, pas une statistique. La description de la lecture de date de Frugalys reprend les règles de son code, pas un taux de réussite, qui dépend de l'emballage, de la lumière et du téléphone.