Date Formatter

Date & Time

Create custom date strings with flexible tokens, locale-aware names, and UTC or local time.

Choose a Date

Switch to UTC if you want to format a universal timestamp.
Locale affects month and weekday names (e.g., en-US, fr-FR).

Format Options

Use tokens like YYYY, MMM, DD, HH, mm, ss.
Formatted Output --

Token Reference

YYYY Year (2025)
YY Year (25)
MMMM Month name (January)
MMM Month (Jan)
MM Month (01)
M Month (1)
DD Day (09)
D Day (9)
dddd Weekday (Monday)
ddd Weekday (Mon)
HH 24h (14)
H 24h (no padding, 0–23)
hh 12h (02)
h 12h (no padding, 1–12)
mm Minutes (05)
m Minutes (no padding, 0–59)
ss Seconds (09)
s Seconds (no padding, 0–59)
A AM/PM
a am/pm
Z Offset (+02:00)
ZZ Offset (+0200)

How it works

Custom tokens: Build your own date strings using a simple token map.
Locale aware: Month and weekday names follow the locale you choose.
UTC or local: Switch between local time and UTC without conversions.
Private: Everything runs locally in your browser with no uploads.

Frequently Asked Questions

What date formats can I generate with this tool?

You can format dates into ISO 8601, RFC 2822, localized date strings (US MM/DD/YYYY, European DD/MM/YYYY), 12-hour or 24-hour timestamps, and fully custom strings using format tokens like YYYY, MM, DD, HH, mm, and ss.

Can I format dates in different languages or locales?

Yes, you can enter any standard BCP 47 language tag (such as 'en-US', 'fr-FR', 'es-ES', 'de-DE') to produce localized month and weekday names.

How do I switch between UTC and my local time zone?

Use the 'Time Standard' dropdown to choose between Local Time and UTC. In UTC mode, the output reflects coordinated universal time regardless of your device's geographical location.

How do I escape literal text within a custom format string?

Any characters that do not match the token dictionary (such as hyphens, slashes, colons, or standard punctuation) are preserved as literal characters in your output.

How helpful was this tool?

Loading rating...