Skip to content

Julian Date Code Format, With a Chart and Converter

A Julian date code is the day of the year, 001 to 365. How to read one on a case, write your own, handle leap years, and convert in Excel, with a free chart.

By Koa Sterling. Product specialist at TaroStack and small business owner. Yes, I am a real human, and I actually sit in front of a computer and write these articles. Reviewed September 30, 2026 · 6 min read

In food packaging, a Julian date code is the day of the year written as three digits: January 1 is 001, February 1 is 032, and December 31 is 365, or 366 in a leap year. It usually comes with the year in front, as one digit (YDDD, so 6273 is the 273rd day of 2026, September 30) or two (YYDDD, 26273). Read it by finding the day number on a chart, and in Excel turn a date into a code with =A2-DATE(YEAR(A2),1,0). A free chart and converter are below.

The short version

  • Day of year: 001 for January 1, counting up to 365 (366 in leap years).
  • The common formats are DDD, YDDD and YYDDD. A letter or number after it is often a line, shift or plant.
  • From March 1 on, a leap year's numbers are one higher. 2028 is the next leap year.
  • Never assume a supplier's code: ask them how to read it, once, and write it down.
  • In TaroStack, every lot carries its real date, whatever code you print. More below.

The formats you'll meet

Code Format Means
273 DDD The 273rd day of some year: September 30 in a normal year
6273 YDDD Day 273 of a year ending in 6: September 30, 2026
26273 YYDDD Day 273 of 2026
6273A YDDD + letter The same day, line or shift A
2736 DDDY Day 273, year ending in 6: the year at the end instead

The one-digit year saves space and repeats every ten years, which is fine for anything with a shelf life measured in months. The two-digit year never leaves you guessing.

The best-known Julian code in the US is on egg cartons. Cartons with the USDA grade shield must show the pack date as a three-digit number running from 001 for January 1 to 365 for December 31 (USDA FSIS). The same page notes that cans and boxes often carry "closed or coded" dates, a series of letters and numbers for the maker's own tracking, which is where most Julian codes on your ingredient cases come from.

How to read one

  1. Find the three digits that look like a day number: 001 to 366.
  2. Find the year digit or digits next to it, usually right before.
  3. Look the day up on a chart for the right kind of year, normal or leap.
  4. Anything left over is probably a plant, line, shift or batch. Ask the supplier if it matters.

Here's a quick chart of where each month starts in a normal year, and in a leap year:

Month 1st is day (normal year) 1st is day (leap year)
January 001 001
February 032 032
March 060 061
April 091 092
May 121 122
June 152 153
July 182 183
August 213 214
September 244 245
October 274 275
November 305 306
December 335 336

So 273 is the day before October 1 in 2026: September 30. In 2028 the same date is 274.

Be careful with codes that might be a best-by date rather than a pack date. A case of coconut milk coded 6273 could have been canned on September 30, 2026, or be best by then. The difference is two years of shelf life, so if the code is your only date, ask. (How the dates meant for customers are written is in best by date format.)

Writing your own Julian lot codes

A Julian code makes a short, sortable lot code for what you make. Here's one for a batch of chips made on September 30, 2026:

C  6  273  A
|  |   |   +-- first batch of the day
|  |   +------ day 273 (September 30)
|  +---------- 2026
+------------- chips

C6273A sorts in date order and fits on the smallest pouch. The catch is that nobody in the kitchen can read it without a chart, and the person answering a customer's call may not have one, so print the best-by date in words next to it. There's more on choosing a lot code format in how to create lot numbers, and on printing it in lot number on food packaging.

In Excel

With a date in A2:

Day of year     =A2-DATE(YEAR(A2),1,0)
YDDD            =RIGHT(YEAR(A2),1)&TEXT(B2,"000")
YYDDD           =RIGHT(YEAR(A2),2)&TEXT(B2,"000")

DATE(YEAR(A2),1,0) is the last day of the previous year, so the subtraction counts days into this one, leap years included. TEXT(B2,"000") keeps the leading zeros: day 5 becomes 005.

To turn a YYDDD code in F2 back into a date:

=DATE(2000+LEFT(F2,2),1,RIGHT(F2,3))

Excel lets the day run past the end of January, so DATE(2026,1,273) is September 30. Keep codes as text in the sheet so a code starting with 0 doesn't lose it.

Download the Julian date chart and converter. It has the converter both ways and a full day-of-year chart for 2026 and for 2028, the next leap year, ready to print. It's an ordinary Excel file with no macros, and it works in Google Sheets, LibreOffice and Numbers.

Where this stops working

A Julian code is a way of writing a date, and that's its weakness. Every time someone has to turn it back into a date, at receiving, at the shelf, at the mixer, they can get it wrong, especially in the leap-year months. And knowing a case was packed on day 273 doesn't tell you its best-by date unless you also know the product's shelf life. The decoding lives in somebody's head, or on a chart taped to a wall that gets wet.

How TaroStack does it

TaroStack stores the dates themselves, so nobody decodes anything twice. When a case arrives, it's received as a lot with its supplier code (6273, CM61507, whatever it says) and its real use-by or best-by date, decoded once, at the door. If the case has a GS1-128 label, scanning it fills in the lot and the use-by date for you. From then on the lot that expires first is used first, and the date is kept as a date, not a code.

Your own lots work the same way. Record a batch with the lot code you print, Julian or not, and it carries its production and best-by dates, so a customer's call about C6273A is answered by searching the code, not by counting days on a chart. Lot labels print with the code and, if your item has a GTIN, a GS1-128 barcode carrying the use-by date and the lot.

Lots and expiry are on every plan, from $49 a month, and the first 30 days are free. If you'd like a hand setting up, ask, and we'll do it with you.

Questions people also ask

How do you read a Julian date code?

Find the three-digit day of the year (001 to 366) and the year digit or digits next to it, then look the day up on a chart. 6273 is day 273 of 2026, September 30. In a leap year, every date from March 1 on is one number higher.

What is today's Julian date?

Count the days since December 31 of last year. In Excel, =TODAY()-DATE(YEAR(TODAY()),1,0) gives it. September 30, 2026 is day 273.

What does the code on an egg carton mean?

On cartons with the USDA grade shield, the three-digit number is the pack date: the day of the year the eggs were washed, graded and packed, from 001 for January 1 to 365 for December 31.

Is a Julian date code a best-by date?

Not usually. It's most often the date something was made or packed. Some makers code the best-by date instead, so if the code is the only date on the case, ask the supplier which it is.

Sources

  1. USDA FSIS: Food Product Dating (egg cartons' three-digit pack date; closed or coded dates) · read September 30, 2026

We use AI to help with the research for these articles. Every one is read, checked against its sources and edited by Koa before it's published. Spot a mistake? Tell us and we'll fix it and say so. How we write these.

Let’s get your stack in order.

Create your account, bring your spreadsheets, and see your real stock right away.

Get TaroStack

Sign up now for your free 30 day trial. No credit card required.