US Shipping Holiday Calendar

Which holidays affect your shipments depends on which carriers your 3PL uses. USPS closes on all 11 federal holidays. UPS and FedEx only close for 6. Select your carriers to see what matters for your operation.

Carriers
HolidayDateDayUSPSUPSFedExCategory
New Year's DayJan 1ThursdayClosedClosedClosedBig 6
Martin Luther King Jr. DayJan 19MondayClosedClosedLimitedVaries
Presidents' DayFeb 16MondayClosedOpenOpenVaries
Memorial DayMay 25MondayClosedClosedClosedBig 6
JuneteenthJun 19FridayClosedOpenOpenVaries
Independence Day(observed)Jul 3actual: Jul 4FridayClosedClosedClosedBig 6
Labor DaySep 7MondayClosedClosedClosedBig 6
Columbus DayOct 12MondayClosedOpenOpenVaries
Veterans DayNov 11WednesdayClosedOpenOpenVaries
ThanksgivingNov 26ThursdayClosedClosedClosedBig 6
Christmas DayDec 25FridayClosedClosedClosedBig 6
Christmas EveDec 24ThursdayOpenEarly cutoffEarly cutoffEdge case
New Year's EveDec 31ThursdayOpenEarly cutoffOpenEdge case
Big 6 — all major carriers closed, most 3PLs non-operationalVaries — some carriers closed, some open. Check with your 3PLEdge case — not federal holidays, carriers may run compressed schedules

Subscribe to this calendar

Add non-shipping days to Google Calendar, Apple Calendar, or Outlook. Updates automatically.

https://www.3plpulse.com/api/calendar/fedex-ups-usps

In Google Calendar: Settings > Add calendar > From URL. Paste the link above.

Use the API

JSON endpoint. Free, no auth. Use it in spreadsheets, scripts, or internal tools.

GET https://www.3plpulse.com/api/holidays?year=2026&carriers=usps,ups,fedex

Google Sheets: =IMPORTDATA("...?format=csv") for a clean table. JSON for scripts and internal tools.

Use in Google Sheets

Pick your carriers and year, then copy the formulas into your spreadsheet. The first formula imports the holiday table. The second plugs it into your SLA calculations so NETWORKDAYS skips holidays automatically.

Carriers

Step 1: Import holiday data (with formatted dates)

Recommended

Paste in cell A1 of a new tab called "Holidays". Uses QUERY to import the data and format dates as readable dates instead of serial numbers.

=QUERY(IMPORTDATA("https://www.3plpulse.com/api/holidays?year=2026&carriers=fedex,ups,usps&format=csv"), "SELECT * FORMAT Col2 'yyyy-mm-dd', Col3 'yyyy-mm-dd'")

Step 2: Use in SLA calculations

In your orders sheet, use NETWORKDAYS with the observed dates from column C of your Holidays tab. This skips holidays automatically.

=NETWORKDAYS(A2, B2, Holidays!C2:C14)

Step 3: Check if a date is a holiday

Returns TRUE if a date matches one of the imported holidays. Useful for conditional formatting or flagging orders.

=COUNTIF(Holidays!C:C, A2) > 0
Simpler alternative (dates show as numbers)

If you prefer a simpler formula, use raw IMPORTDATA:

=IMPORTDATA("https://www.3plpulse.com/api/holidays?year=2026&carriers=fedex,ups,usps&format=csv")

Dates will display as serial numbers (e.g., 46023 instead of 2026-01-01). To fix: select the date columns, go to Format > Number > Date. The values are correct for NETWORKDAYS either way.

Column C contains observed dates (adjusted for weekends). Use this column for SLA calculations, not column B (actual calendar dates).

Google Sheets caches IMPORTDATA for about 1 hour. To force refresh, append &_=1 to the URL and increment the number.

Holiday calendar data imported into Google Sheets using the QUERY formula, showing holiday names, dates, and carrier status in a clean table

What it looks like in Google Sheets after pasting the Step 1 formula

Other ways to use this

Check before making delivery promises

If your 3PL uses USPS, MLK Day and Presidents' Day are non-shipping days even if the warehouse is open. Check here before telling a customer "ships Monday."

Add non-shipping days to your team calendar

Copy the .ics URL above and add it to Google Calendar (Settings > Add calendar > From URL). Non-shipping days show up automatically and update each year.

API Reference

Free, no auth, CORS-enabled. Use it in scripts, dashboards, or internal tools.

Holiday data (JSON)

GET https://www.3plpulse.com/api/holidays
Param Default Description
year current year 2021 through 2100
carriers usps,ups,fedex Comma-separated. Filter which carriers appear in the response.
format json json for programmatic use. csv for Google Sheets IMPORTDATA.

Calendar feed (.ics)

GET https://www.3plpulse.com/api/calendar/ups-fedex.ics

Carrier names are dash-separated in the URL: usps, ups, fedex. Combine any mix: /api/calendar/usps.ics, /api/calendar/usps-ups-fedex.ics. Includes current year and next year. Subscribe in any calendar app that supports .ics URLs.

Example: curl

curl "https://www.3plpulse.com/api/holidays?year=2026&carriers=ups,fedex"

About this data

Holiday dates are computed from US federal rules (5 U.S.C. § 6103), including observed date shifts for weekends. No hardcoded dates, correct for any year.

Carrier status (USPS, UPS, FedEx) is based on their published holiday schedules. This covers the three carriers that handle the majority of US ecommerce shipments. Regional carriers (OnTrac, LSO, Spee-Dee, etc.) are not included and may follow different schedules.

Carriers can change their holiday policies. When in doubt, verify directly with your carrier or 3PL.

Related reading

These tools and APIs are free and public. We'll do our best to keep them stable, but response shapes may evolve and uptime isn't guaranteed. For production SLA tracking with full reliability, use 3PL Pulse.

Have a suggestion or found an issue? Let us know.