Convert Months to Days
Convert months to days using Gregorian, Julian, or banking conventions - plus calendar-aware add-months. Free, offline, client-side.
Convert months to days using four different conventions (Gregorian, Julian, banking 30/360, common 30.5) - or pick Calendar mode to add months to a real start date and get the exact day count. Reverse mode converts days → months too. Side-by-side comparison shows all four conventions for any input.
Across All Conventions
Same Duration Across Units
How to Use Convert Months to Days
- Pick a mode. Average is the quick approximation. Calendar mode is when you actually need to know "X + N months = what date, exactly how many days?". Reverse mode goes days → months.
- Pick a convention. Gregorian (30.4369 d/mo) is the modern civil-calendar average - most accurate for general use. Julian (30.4375 d/mo) is the older Roman convention. Banking 30/360 is exactly 30 days per month - what bond yields and some loan calculations assume. Common 30.5 is the mental-math compromise.
- Type your value. Months or Days depending on the mode. Decimals OK (e.g., 1.5 months).
- Calendar mode only - pick a start date and clamping. The date defaults to today. The "Clamp" checkbox controls what happens when the start day doesn't exist in the target month (Jan 31 + 1 month: clamp = Feb 29 in 2024 / Feb 28 in 2025; uncheck = JS-default rolls over to Mar 2 / Mar 3).
- Watch the comparison row. All four conventions render the same input side-by-side so you can see how much they differ.
- Watch the breakdown panel. The same duration in years / months / weeks / days / hours / minutes for the chosen convention.
- Copy or Download. Copy puts the full multi-section report on your clipboard. Download saves
months-days-report.txt.
Frequently Asked Questions
Why is “average days per month” 30.4369 and not just 30?
Because months aren’t equal – 28, 29, 30, and 31 day lengths. The Gregorian-calendar long-run average is the total days in 400 years (146,097) divided by 400 × 12 months = 30.43688 days per month. That accounts for leap years (every 4 years except century years not divisible by 400). The Julian average is slightly higher (30.4375) because it lacks the century-year correction.
When should I use the 30/360 banking convention?
Bond pricing, mortgage calculations, accrued interest, and many loan-amortization formulas assume every month is exactly 30 days and every year is exactly 360 days. It’s a simplification that makes math cleaner at the cost of slight inaccuracy. If you’re working with financial documents, check whether they specify “actual/actual”, “30/360”, or “actual/360” day-count conventions.
What does “Clamp to last day” mean in calendar mode?
JavaScript’s built-in Date.setMonth() rolls over: setting Jan 31 + 1 month gives “Feb 31” which doesn’t exist, so it becomes Mar 2 (or Mar 3 in non-leap years). That’s rarely what users want for “this date next month”. Clamping moves it to the last actual day of the target month: Feb 29 in leap years, Feb 28 otherwise. Most spreadsheet EDATE() functions use clamping.
Why do the comparison values differ?
Different conventions assume different average month lengths. For 12 months: Gregorian gives 365.2425 days, Julian gives 365.25, banking gives 360, and common short gives 366. The spread is small for single-month inputs but compounds – at 120 months (10 years), the difference between Gregorian and banking is ~60 days.
What’s the difference between calendar and average mode?
Average mode is “1 month = 30.43 days, always”. Calendar mode picks a specific start date and uses real calendar arithmetic – so 1 month from Jan 1 is 31 days (Feb 1), but 1 month from Feb 1 is 28-29 days (Mar 1). Use calendar when the start date matters (contracts, due dates, subscription billing cycles). Use average for general estimation.
What’s the meaning of fractional months in calendar mode?
The integer portion is added with real calendar arithmetic (and your chosen clamp behavior). The fractional remainder is added as Gregorian-average days (≈30.44 × fraction, rounded). So 1.5 months = full 1-month calendar jump + 15 days. This is the most common interpretation but it’s an approximation – there’s no “official” definition of half-month durations.
Can I convert days to months?
Yes – switch to Reverse mode. Days → months using whichever convention is selected. 365 days = 12.000 Julian months / 11.999 Gregorian months / 12.167 banking months / 11.967 common-short months. The comparison row shows all four.
What about leap years in calendar mode?
Handled natively because JavaScript’s Date object knows the Gregorian leap rule (every 4 years except century years not divisible by 400). Jan 31, 2024 + 1 month with clamp on → Feb 29, 2024 (2024 is a leap year). Same with 2025 → Feb 28, 2025. Date math is exact for 1 ≤ year ≤ 275760 (the JS Date max-year).
Is my data uploaded?
No. All arithmetic runs in your browser using vanilla JavaScript. Open DevTools → Network and confirm zero requests fire after the page loads – even when you Convert or change modes. Safe for personal birth dates, contract dates, or confidential timelines.
Does it work offline?
Yes. Total bundle is under 18 KB. Once loaded, disconnect from the internet and keep converting. Useful for prepping contract math or pregnancy due-date calculations without round-tripping to any cloud service.