Work with dates: count the days between two dates, add or subtract a duration, get someone's exact age, and look up the ISO week number, day of year and other facts about any date.
Everything runs locally in your browser. Your data never leaves your device.
Days between two dates
How far apart two dates are, as calendar units and as plain totals. Leave the start empty to count from today.
Difference
Pick an end date to compare against the start
Add or subtract a duration
Move a date by years, months, weeks and days, for deadlines like a date plus 90 days. Leave the start empty to count from today.
Result
Pick a start date
Result date
The resulting date shows here as YYYY-MM-DD
Age calculator
An exact age from a birth date, with the countdown to the next birthday. Set the second date to get the age at any other point in time.
Exact age
Pick a birth date
Date facts
The week number, day of year, quarter and other facts about any date. Leave the field empty for today.
Pick a date to see its facts.
About the Date & Duration Calculator
This tool answers the everyday date questions in one place. Count the days between two dates, move a date forward or back by a duration, work out an exact age, and look up facts like the ISO week number for any date.
Every date can be typed straight into its field or picked from a calendar, and a start date left empty counts from today.
What you can do
Count the days, weeks and working days between two dates.
Add or subtract years, months, weeks and days from a date.
Find the date 90 days from today, with its weekday.
Calculate an exact age in years, months and days from a birth date.
See the days until the next birthday and the total days lived.
Look up the ISO week number, day of year and quarter of any date.
How to use the Date & Duration Calculator
1Go to the card that matches your question. Each card works on its own.
2Type each date as YYYY-MM-DD or pick it from the calendar. A start date left empty means today.
3Read the answer as a sentence and copy any value with its copy button.
How the difference is counted
The gap between two dates is shown in two ways. The calendar breakdown counts whole years and months first and then the days that remain, which is how people state ages and anniversaries. The totals count plain days, full weeks, working days from Monday to Friday, hours and minutes. By default the end date itself is not counted, so 1 January to 2 January is 1 day. Turn on the end date toggle to count it as well, which is common for bookings and billing.
Months of different lengths
Adding months keeps the day of the month where it can. When the target month is shorter, the date is clamped to that month's last day, so 31 January plus one month lands on 28 February, or on 29 February in a leap year. The tool points it out whenever this happens. The same rule decides that a 29 February birthday is celebrated on 28 February in non-leap years.
ISO week numbers
Week numbers follow ISO 8601, where week 1 is the week that contains the year's first Thursday and weeks start on Monday. That is why the first days of January can still belong to the last week of the previous year, and 29 to 31 December can already sit in week 1 of the next one. To turn a date into a Unix timestamp instead, use the Unix Timestamp Converter.
Enter a resolution to get its simplified aspect ratio, or start from a ratio and one side to get the missing dimension. Knows the common ratios like 16:9, 4:3 and 21:9 and shows how close your size is to each.
Convert Unix file permissions between checkboxes, octal like 755 and symbolic notation like rwxr-xr-x, all kept in sync as you edit any of them. Covers setuid, setgid and the sticky bit, and shows the matching chmod command ready to copy.
Convert between px, rem, em, percent, pt and viewport units with a configurable root font size. Type into any field and the others update as you go, set the parent font size for em math, and read a conversion table for common sizes.
Work out an IPv4 or IPv6 network from an address with a prefix or netmask: network and broadcast addresses, usable host range, subnet mask, wildcard mask and address type. Adjust the prefix with a slider, read the binary breakdown, and split the network into smaller subnets.
Convert numbers between binary, octal, decimal, hexadecimal and any base up to 36. Type into any field and the others update as you go. Handles huge integers without losing precision and accepts 0x, 0b and 0o prefixes.
Answer any percentage question as you type: what is X% of a number, what percent one number is of another, the percentage increase or decrease between two values, a number raised or lowered by a percent, and the whole behind a part. Every result has a copy button.