{
  "schemaVersion": "2026-09-26",
  "generatedAt": "2026-09-26T08:36:23.431Z",
  "site": "https://www.calculationtime.com",
  "runtimeBoundary": {
    "formatJsonCalculatorOutput": "planned-not-live",
    "stateSharingUrls": "planned-per-tool",
    "note": "This catalog describes calculator pages, defaults and formulas. It does not claim that calculator pages currently return live calculated JSON with ?format=json."
  },
  "agentUsage": {
    "canonicalPagePattern": "https://www.calculationtime.com/calculators/{slug}/",
    "catalogUrl": "https://www.calculationtime.com/calculator-catalog.json",
    "openApiUrl": "https://www.calculationtime.com/openapi.json"
  },
  "totals": {
    "calculators": 114,
    "withStructuredInputs": 106,
    "withFormulas": 114
  },
  "calculators": [
    {
      "slug": "age-calculator",
      "name": "Age Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/age-calculator/",
      "category": "Date & Time",
      "status": "live",
      "description": "Calculate age from a birth date to a chosen date, with years, months and days shown clearly.",
      "directAnswer": "Someone born on 15 May 1990 is 36 years, 0 months and 0 days old on 15 May 2026. This calculator compares the birth date with an “age on” date, borrows calendar months when needed, and also shows total elapsed days.",
      "formulaText": "Age = as-of date − birth date, counted in complete calendar years, then complete months, then remaining days. Total days = UTC midnight difference ÷ 86,400,000.",
      "formulaLatex": "Age = calendar difference between birth date and target date",
      "inputs": [
        {
          "key": "birthYear",
          "label": "Birth year",
          "unit": null,
          "defaultValue": 1990,
          "min": 1,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "birthMonth",
          "label": "Birth month",
          "unit": null,
          "defaultValue": 5,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "birthDay",
          "label": "Birth day",
          "unit": null,
          "defaultValue": 15,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        },
        {
          "key": "asOfYear",
          "label": "Age on year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "asOfMonth",
          "label": "Age on month",
          "unit": null,
          "defaultValue": 5,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "asOfDay",
          "label": "Age on day",
          "unit": null,
          "defaultValue": 15,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "birthYear": 1990,
        "birthMonth": 5,
        "birthDay": 15,
        "asOfYear": 2026,
        "asOfMonth": 5,
        "asOfDay": 15
      },
      "outputLabel": "Age",
      "outputUnit": "years, months and days",
      "assumptions": [
        "The birth date and age-on date use the proleptic Gregorian calendar used by JavaScript Date for modern civil dates.",
        "The calculator counts completed calendar years first, then months and days; it does not round age upward before a birthday.",
        "Dates are compared at UTC midnight to avoid daylight-saving hour changes.",
        "For legal, medical, insurance or school eligibility decisions, check the exact local rule because some rules use inclusive counting or local cutoff times."
      ],
      "workedExample": "Birth date 15 May 1990 to age-on date 15 May 2026 gives 36 completed years. There are no remaining completed months or days, so the result is 36 years, 0 months and 0 days.",
      "keywords": [
        "age calculator",
        "age calculator formula",
        "online age calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "age",
        "calculator"
      ]
    },
    {
      "slug": "alarm-timer",
      "name": "Alarm Timer",
      "canonicalUrl": "https://www.calculationtime.com/calculators/alarm-timer/",
      "category": "Date & Time",
      "status": "live",
      "description": "Calculate time until an alarm, prep cutoff time and snooze blocks between the current clock time and alarm time.",
      "directAnswer": "From 22:45 to a 06:30 alarm is 7 hours 45 minutes. A 45 minute prep buffer leaves 420 minutes before the get-ready cutoff.",
      "formulaText": "Minutes until alarm = (alarm minutes after midnight − current minutes after midnight + 1,440) mod 1,440.",
      "formulaLatex": "Elapsed time = current time - start time - paused time",
      "inputs": [
        {
          "key": "currentHour",
          "label": "Current hour",
          "unit": null,
          "defaultValue": 22,
          "min": 0,
          "max": 23,
          "step": 1,
          "help": null
        },
        {
          "key": "currentMinute",
          "label": "Current minute",
          "unit": null,
          "defaultValue": 45,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        },
        {
          "key": "alarmHour",
          "label": "Alarm hour",
          "unit": null,
          "defaultValue": 6,
          "min": 0,
          "max": 23,
          "step": 1,
          "help": null
        },
        {
          "key": "alarmMinute",
          "label": "Alarm minute",
          "unit": null,
          "defaultValue": 30,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        },
        {
          "key": "snoozeMinutes",
          "label": "Snooze length",
          "unit": "minutes",
          "defaultValue": 9,
          "min": 0,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "prepMinutes",
          "label": "Prep buffer",
          "unit": "minutes",
          "defaultValue": 45,
          "min": 0,
          "max": null,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "currentHour": 22,
        "currentMinute": 45,
        "alarmHour": 6,
        "alarmMinute": 30,
        "snoozeMinutes": 9,
        "prepMinutes": 45
      },
      "outputLabel": "Time until alarm",
      "outputUnit": "hours and minutes",
      "assumptions": [
        "Times are entered in 24-hour clock form.",
        "If the alarm time is earlier than the current time, the calculator treats it as tomorrow.",
        "The prep buffer is subtracted from time until alarm, not from the alarm clock itself.",
        "Browser alarms, sounds and notifications vary by device."
      ],
      "workedExample": "22:45 is 1,365 minutes after midnight. 06:30 is 390 minutes after midnight. (390 − 1,365 + 1,440) = 465 minutes, or 7h 45m.",
      "keywords": [
        "alarm timer",
        "alarm timer formula",
        "alarm timer calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "alarm",
        "timer"
      ]
    },
    {
      "slug": "amortization-calculator",
      "name": "Amortization Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/amortization-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Build a fixed-rate loan amortization check with monthly payment, balance after a chosen payment, interest paid and extra-payment impact.",
      "directAnswer": "A 250,000 fixed-rate loan at 6.5% over 30 years has a scheduled payment of about 1,580.17 per month. After 60 payments with no extra principal, the estimated remaining balance is about 234,027.44 before lender fees, taxes or rate changes.",
      "formulaText": "Monthly payment = P × r(1+r)^n ÷ ((1+r)^n − 1). Each month: interest = opening balance × r; principal paid = payment + extra payment − interest; new balance = opening balance − principal paid.",
      "formulaLatex": "Payment = P r (1 + r)^{n} / ((1 + r)^{n} - 1)",
      "inputs": [
        {
          "key": "principal",
          "label": "Loan amount",
          "unit": "currency",
          "defaultValue": 250000,
          "min": 0,
          "max": null,
          "step": 1000,
          "help": "Original amount borrowed before interest. Use one currency consistently."
        },
        {
          "key": "annualRate",
          "label": "Annual interest rate",
          "unit": "percent",
          "defaultValue": 6.5,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Nominal fixed annual rate converted to a monthly rate."
        },
        {
          "key": "termYears",
          "label": "Loan term",
          "unit": "years",
          "defaultValue": 30,
          "min": 0.01,
          "max": null,
          "step": 1,
          "help": "Original repayment term."
        },
        {
          "key": "paymentNumber",
          "label": "Balance after payment number",
          "unit": "month",
          "defaultValue": 60,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Use 0 for the starting balance, 12 after one year, 60 after five years."
        },
        {
          "key": "extraMonthlyPayment",
          "label": "Extra monthly principal",
          "unit": "optional currency",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Optional extra amount assumed to reduce principal each month without penalty."
        }
      ],
      "defaultState": {
        "principal": 250000,
        "annualRate": 6.5,
        "termYears": 30,
        "paymentNumber": 60,
        "extraMonthlyPayment": 0
      },
      "outputLabel": "Estimated remaining balance",
      "outputUnit": "currency balance",
      "assumptions": [
        "The loan has a fixed annual rate converted to a monthly rate.",
        "Payments are monthly and the first payment is one month after the starting balance.",
        "Extra monthly payment is treated as principal reduction with no fee or prepayment penalty.",
        "Taxes, insurance, redraw fees, offset accounts, variable-rate changes and lender servicing fees are excluded."
      ],
      "workedExample": "For 250,000 at 6.5% over 30 years, r = 0.065 ÷ 12 and n = 360. The scheduled monthly payment is about 1,580.17. Month 1 interest is about 1,354.17, so only about 226.00 reduces principal before any extra payment.",
      "keywords": [
        "amortization calculator",
        "amortization calculator formula",
        "online amortization calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "mortgage",
        "amortization"
      ]
    },
    {
      "slug": "apr-calculator",
      "name": "APR Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/apr-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "APR Calculator estimates a broad annual percentage rate from note rate, fees, cash charges, term and payment timing.",
      "directAnswer": "APR Calculator compares the stated note rate with fee-adjusted borrowing cost by solving the rate implied by net proceeds and scheduled payments.",
      "formulaText": "Payment is calculated on loan amount plus financed fees at the stated rate. Estimated APR solves the monthly rate where the present value of payments equals loan amount minus cash fees, then multiplies by 12.",
      "formulaLatex": "APR = periodic rate \\\\times periods per year, adjusted for fees",
      "inputs": [
        {
          "key": "loanAmount",
          "label": "Loan amount",
          "unit": "currency",
          "defaultValue": 25000,
          "min": 0,
          "max": null,
          "step": 500,
          "help": "The stated amount borrowed before fees."
        },
        {
          "key": "nominalRate",
          "label": "Stated interest rate",
          "unit": "percent",
          "defaultValue": 7.25,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "The note rate used to calculate the scheduled payment."
        },
        {
          "key": "financedFees",
          "label": "Financed fees",
          "unit": "currency optional",
          "defaultValue": 600,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Fees added to the financed balance."
        },
        {
          "key": "cashFees",
          "label": "Cash fees paid upfront",
          "unit": "currency optional",
          "defaultValue": 250,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Fees paid out of pocket that reduce net proceeds."
        },
        {
          "key": "termMonths",
          "label": "Loan term",
          "unit": "months",
          "defaultValue": 60,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Number of monthly repayments."
        }
      ],
      "defaultState": {
        "loanAmount": 25000,
        "nominalRate": 7.25,
        "financedFees": 600,
        "cashFees": 250,
        "termMonths": 60
      },
      "outputLabel": "Estimated APR",
      "outputUnit": "annual percentage rate",
      "assumptions": [
        "Monthly payments are level across the term.",
        "Financed fees are added to the balance and cash fees reduce net proceeds.",
        "The APR is an educational estimate and may not match jurisdiction-specific disclosure rules.",
        "Taxes, insurance, penalties and irregular payment dates are not included."
      ],
      "workedExample": "A 25,000 loan with 600 financed fees and 250 cash fees at a 7.25% note rate over 60 months gives a higher fee-adjusted APR than the stated rate because the borrower receives less net value than the repayment stream implies.",
      "keywords": [
        "apr calculator",
        "apr calculator formula",
        "online apr calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "apr",
        "calculator"
      ]
    },
    {
      "slug": "archaeoastronomy-simulator",
      "name": "Archaeoastronomy Simulator",
      "canonicalUrl": "https://www.calculationtime.com/astronomy/archaeoastronomy-simulator/1/",
      "category": "Workshop Astronomy",
      "status": "listed",
      "description": "Location plus date -> sky/time event preview",
      "directAnswer": "Location plus date -> sky/time event preview",
      "formulaText": "Solar event time = observer location + date + solar declination/hour angle",
      "formulaLatex": "Solar event time = observer location + date + solar declination/hour angle",
      "inputs": [],
      "defaultState": {},
      "outputLabel": null,
      "outputUnit": null,
      "assumptions": [],
      "workedExample": null,
      "keywords": [
        "archaeoastronomy simulator",
        "archaeoastronomy simulator formula",
        "archaeoastronomy simulator calculator",
        "workshop astronomy calculator",
        "transparent calculator",
        "calculationtime",
        "archaeoastronomy",
        "simulator"
      ]
    },
    {
      "slug": "area-calculator",
      "name": "Area Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/area-calculator/",
      "category": "Math & Measurement",
      "status": "live",
      "description": "Calculate rectangular area from length and width, with measured area, planning allowance, unit-basis notes and a printable quote, classroom or job record.",
      "directAnswer": "A 12 by 8 rectangle has an exact area of 96 square units. With a 10% planning allowance, the order or worksheet figure becomes 105.6 square units. The calculator keeps measured area and allowance separate so the record stays auditable.",
      "formulaText": "Measured area = length × width. Planning area = measured area × (1 + allowance percent ÷ 100).",
      "formulaLatex": "Area = length \\\\times width",
      "inputs": [
        {
          "key": "length",
          "label": "Length",
          "unit": "units",
          "defaultValue": 12,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Enter the measured length. Use the same unit as width."
        },
        {
          "key": "width",
          "label": "Width",
          "unit": "units",
          "defaultValue": 8,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Enter the measured width. The result will be in square units."
        },
        {
          "key": "allowancePercent",
          "label": "Planning allowance",
          "unit": "%",
          "defaultValue": 10,
          "min": 0,
          "max": null,
          "step": 0.5,
          "help": "Optional extra area for waste, cuts, overlap or measurement tolerance. Keep this separate from true area."
        }
      ],
      "defaultState": {
        "length": 12,
        "width": 8,
        "allowancePercent": 10
      },
      "outputLabel": "Area",
      "outputUnit": "square units",
      "assumptions": [
        "Length and width must use the same unit before multiplying.",
        "The measured result is reported in square units: feet become square feet, metres become square metres, and so on.",
        "The allowance is optional and is not part of the true geometric area.",
        "Irregular rooms, curved edges, openings and supplier pack sizes need separate breakdowns before ordering materials."
      ],
      "workedExample": "Length 12 × width 8 = 96 square units. A 10% allowance is 96 × 0.10 = 9.6 extra square units, so the planning figure is 96 + 9.6 = 105.6 square units.",
      "keywords": [
        "area calculator",
        "area calculator formula",
        "online area calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "area",
        "calculator"
      ]
    },
    {
      "slug": "auto-loan-calculator",
      "name": "Auto Loan Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/auto-loan-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Estimate a car loan payment from vehicle price, down payment, trade-in, sales tax, fees, interest rate and loan term.",
      "directAnswer": "A 35,000 vehicle with 5,000 down, 7% tax, 800 in financed fees and a 6.9% rate for 60 months gives an estimated payment of about 656.84 per month. The calculator separates vehicle price, tax, fees, down payment and trade-in before applying the amortising loan formula.",
      "formulaText": "Taxable amount = max(0, vehicle price − trade-in value). Sales tax = taxable amount × tax rate ÷ 100. Amount financed = vehicle price + sales tax + fees − down payment − trade-in value. Monthly payment = P × r(1+r)^n ÷ ((1+r)^n − 1), where P is amount financed, r is the monthly interest rate and n is months. If the rate is 0%, payment = P ÷ n.",
      "formulaLatex": "Payment = P r (1 + r)^{n} / ((1 + r)^{n} - 1)",
      "inputs": [
        {
          "key": "vehiclePrice",
          "label": "Vehicle price",
          "unit": "currency",
          "defaultValue": 35000,
          "min": 0,
          "max": null,
          "step": 500,
          "help": "Sticker, negotiated or quoted vehicle price before trade-in, tax and fees."
        },
        {
          "key": "downPayment",
          "label": "Down payment",
          "unit": "currency",
          "defaultValue": 5000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Cash paid upfront. Keep rebates separate unless the lender treats them the same way."
        },
        {
          "key": "tradeInValue",
          "label": "Trade-in value",
          "unit": "currency",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Estimated credit for a traded vehicle. Enter 0 if there is no trade-in."
        },
        {
          "key": "salesTaxRate",
          "label": "Sales tax / GST rate",
          "unit": "percent",
          "defaultValue": 7,
          "min": 0,
          "max": 30,
          "step": 0.01,
          "help": "Use the rate that applies to the taxable vehicle amount in your location."
        },
        {
          "key": "fees",
          "label": "Fees to finance",
          "unit": "currency",
          "defaultValue": 800,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Registration, documentation or lender fees that are rolled into the loan."
        },
        {
          "key": "annualRate",
          "label": "Annual interest rate",
          "unit": "percent",
          "defaultValue": 6.9,
          "min": 0,
          "max": 50,
          "step": 0.01,
          "help": "Nominal annual rate used for the monthly payment estimate."
        },
        {
          "key": "termMonths",
          "label": "Loan term",
          "unit": "months",
          "defaultValue": 60,
          "min": 1,
          "max": 120,
          "step": 1,
          "help": "Number of monthly payments. Common auto terms range from 36 to 84 months."
        },
        {
          "key": "extraMonthlyPayment",
          "label": "Extra monthly payment",
          "unit": "optional currency",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Optional extra principal payment for a simple payoff comparison."
        }
      ],
      "defaultState": {
        "vehiclePrice": 35000,
        "downPayment": 5000,
        "tradeInValue": 0,
        "salesTaxRate": 7,
        "fees": 800,
        "annualRate": 6.9,
        "termMonths": 60,
        "extraMonthlyPayment": 0
      },
      "outputLabel": "Estimated auto loan payment",
      "outputUnit": "currency per month",
      "assumptions": [
        "The loan uses a fixed annual interest rate converted to a monthly rate.",
        "Sales tax is estimated on vehicle price minus trade-in value; some places tax rebates, trade-ins and fees differently.",
        "Fees are treated as financed amounts, not paid separately in cash.",
        "Insurance, maintenance, fuel, registration renewals, early payoff penalties, variable rates and lender-specific APR disclosure rules are not included."
      ],
      "workedExample": "For a 35,000 vehicle, 5,000 down, no trade-in, 7% tax, 800 financed fees, 6.9% annual interest and 60 months: tax = 35,000 × 0.07 = 2,450. Amount financed = 35,000 + 2,450 + 800 − 5,000 = 33,250. The monthly rate is 0.069 ÷ 12, giving an estimated payment of about 656.84 per month.",
      "keywords": [
        "auto loan calculator",
        "auto loan calculator formula",
        "online auto loan calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "auto",
        "loan"
      ]
    },
    {
      "slug": "average-calculator",
      "name": "Average Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/average-calculator/",
      "category": "Percentage & Math",
      "status": "live",
      "description": "Calculate the mean, median, mode and range of any list of numbers in a live sandbox - add or remove values freely and every statistic updates instantly, with a printable custom report and a standalone statistics reference sheet.",
      "directAnswer": "For 72, 85, 90, 68 and 80, the mean is 79, the median is 80, there is no mode, and the range is 22. This calculator sorts and tallies whatever values are in the live sandbox, so mean, median, mode and range stay in sync with every add, edit or remove.",
      "formulaText": "Mean = sum of values ÷ count of values. Median = the middle value once sorted (or the average of the two middle values for an even count). Mode = the value or values that appear most often; there is no mode when every value is unique. Range = maximum value − minimum value.",
      "formulaLatex": "Mean = sum of values / number of values",
      "inputs": [
        {
          "key": "value1",
          "label": "Value 1",
          "unit": null,
          "defaultValue": 72,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "First number in the set."
        },
        {
          "key": "value2",
          "label": "Value 2",
          "unit": null,
          "defaultValue": 85,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Second number in the set."
        },
        {
          "key": "value3",
          "label": "Value 3",
          "unit": null,
          "defaultValue": 90,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Third number in the set."
        },
        {
          "key": "value4",
          "label": "Value 4",
          "unit": null,
          "defaultValue": 68,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Fourth number in the set."
        },
        {
          "key": "value5",
          "label": "Value 5",
          "unit": null,
          "defaultValue": 80,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Fifth number in the set. Use 0 only when zero is a real value you want included."
        }
      ],
      "defaultState": {
        "value1": 72,
        "value2": 85,
        "value3": 90,
        "value4": 68,
        "value5": 80
      },
      "outputLabel": "Arithmetic mean",
      "outputUnit": "average value",
      "assumptions": [
        "Every value currently in the sandbox list is included in all four statistics - there is no fixed input count.",
        "A zero entered as a value is treated as real data, not as blank or missing.",
        "Each value has equal weight; this is a simple arithmetic mean, not a weighted average.",
        "When every value is unique, the calculator reports no mode rather than guessing one.",
        "This is transparent descriptive statistics, not a probability model or inferential test."
      ],
      "workedExample": "For 72, 85, 90, 68 and 80: mean = 395 ÷ 5 = 79. Sorted, the values are 68, 72, 80, 85, 90, so the median (the middle value) is 80. No value repeats, so there is no mode. Range = 90 − 68 = 22.",
      "keywords": [
        "average calculator",
        "average calculator formula",
        "online average calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "average",
        "calculator"
      ]
    },
    {
      "slug": "basic-calculator",
      "name": "Basic Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/basic-calculator/",
      "category": "Core Mathematics",
      "status": "listed",
      "description": "Core Mathematics preview: enter the core inputs and inspect the working",
      "directAnswer": "Core Mathematics preview: enter the core inputs and inspect the working",
      "formulaText": "Result = left operand (+, -, x, /) right operand",
      "formulaLatex": "Result = left operand (+, -, x, /) right operand",
      "inputs": [],
      "defaultState": {},
      "outputLabel": null,
      "outputUnit": null,
      "assumptions": [],
      "workedExample": null,
      "keywords": [
        "basic calculator",
        "basic calculator formula",
        "online basic calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "basic",
        "calculator"
      ]
    },
    {
      "slug": "birthday-countdown-calculator",
      "name": "Birthday Countdown Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/birthday-countdown-calculator/",
      "category": "Date & Time",
      "status": "live",
      "description": "Count the days until the next birthday from a chosen current date, with the next birthday weekday, turning age and countdown checkpoints shown live.",
      "directAnswer": "From 16 May 2026 to a 25 December birthday, the next birthday is 223 days away and falls on a Friday. The page also shows the age reached on that birthday.",
      "formulaText": "Next birthday = birthday month/day in the current year unless that date has passed; otherwise use the next year. Days until = next birthday date - current date.",
      "formulaLatex": "Days remaining = next birthday date - current date",
      "inputs": [
        {
          "key": "currentYear",
          "label": "Current year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "currentMonth",
          "label": "Current month",
          "unit": null,
          "defaultValue": 5,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "currentDay",
          "label": "Current day",
          "unit": null,
          "defaultValue": 16,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        },
        {
          "key": "birthYear",
          "label": "Birth year",
          "unit": null,
          "defaultValue": 1990,
          "min": 1,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "birthMonth",
          "label": "Birthday month",
          "unit": null,
          "defaultValue": 12,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "birthDay",
          "label": "Birthday day",
          "unit": null,
          "defaultValue": 25,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "currentYear": 2026,
        "currentMonth": 5,
        "currentDay": 16,
        "birthYear": 1990,
        "birthMonth": 12,
        "birthDay": 25
      },
      "outputLabel": "Birthday countdown",
      "outputUnit": "days until next birthday",
      "assumptions": [
        "The event name is handled outside the numeric v1 tool; the calculation uses date and time fields only.",
        "UTC arithmetic is used for the entered fields, so both current and target fields should be entered in the same intended local time basis.",
        "Leap seconds are ignored.",
        "Business-day countdowns and live per-second ticking are future enhancements."
      ],
      "workedExample": "From 16 May 2026 to 25 December 2026 is 223 days. A person born in 1990 turns 36 on that birthday.",
      "keywords": [
        "birthday countdown calculator",
        "birthday countdown calculator formula",
        "online birthday countdown calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "birthday",
        "countdown"
      ]
    },
    {
      "slug": "bmi-calculator",
      "name": "BMI Calculator - Adult Body Mass Index, Waist Check, Healthy Weight Range & BMI Prime",
      "canonicalUrl": "https://www.calculationtime.com/calculators/bmi-calculator/",
      "category": "Health & Fitness",
      "status": "planned",
      "description": "Calculate adult BMI from metric or US units, with BMI category, healthy weight range, waist-to-height check and BMI Prime.",
      "directAnswer": "A 70 kg adult who is 175 cm tall has a BMI of 22.86 kg/m², which falls in the healthy-weight adult screening band. A waist of 86 cm at that height gives a waist-to-height ratio of 0.49, adding abdominal-fat context without pretending BMI is a diagnosis.",
      "formulaText": "Metric BMI = weight kg ÷ height m². US BMI = 703 × weight lb ÷ height in². Waist-to-height ratio = waist circumference ÷ height using the same unit. Healthy-weight range = BMI boundary × height m². BMI Prime = BMI ÷ 25. Ponderal Index = weight kg ÷ height m³.",
      "formulaLatex": "BMI = weight kg / height m^{2}",
      "inputs": [
        {
          "key": "unitMode",
          "label": "Unit mode",
          "unit": null,
          "defaultValue": 1,
          "min": 1,
          "max": 2,
          "step": 1,
          "help": "Choose the measurement system shown in the calculator."
        },
        {
          "key": "ageYears",
          "label": "Age",
          "unit": "years",
          "defaultValue": 30,
          "min": 2,
          "max": 120,
          "step": 1,
          "help": "Adult BMI bands apply from age 20. Children and teenagers need age-and-sex percentile charts."
        },
        {
          "key": "sexCode",
          "label": "Sex for context",
          "unit": null,
          "defaultValue": 1,
          "min": 1,
          "max": 2,
          "step": 1,
          "help": "Adult BMI arithmetic is the same, but clinical interpretation can depend on sex, age and body composition."
        },
        {
          "key": "weightKg",
          "label": "Metric weight",
          "unit": "kg",
          "defaultValue": 70,
          "min": 0,
          "max": null,
          "step": 0.1,
          "help": "Use body weight in kilograms."
        },
        {
          "key": "heightCm",
          "label": "Metric height",
          "unit": "cm",
          "defaultValue": 175,
          "min": 1,
          "max": null,
          "step": 0.1,
          "help": "Use standing height in centimetres."
        },
        {
          "key": "waistCm",
          "label": "Metric waist",
          "unit": "cm",
          "defaultValue": 86,
          "min": 0,
          "max": null,
          "step": 0.1,
          "help": "Measure around the waist for a waist-to-height and abdominal-fat context check."
        },
        {
          "key": "weightLb",
          "label": "US weight",
          "unit": "lb",
          "defaultValue": 154,
          "min": 0,
          "max": null,
          "step": 0.1,
          "help": "Use body weight in pounds."
        },
        {
          "key": "heightFeet",
          "label": "Height feet",
          "unit": "ft",
          "defaultValue": 5,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Whole feet part of height."
        },
        {
          "key": "heightInches",
          "label": "Height inches",
          "unit": "in",
          "defaultValue": 9,
          "min": 0,
          "max": 11.99,
          "step": 0.1,
          "help": "Additional inches after whole feet."
        },
        {
          "key": "waistInches",
          "label": "US waist",
          "unit": "in",
          "defaultValue": 34,
          "min": 0,
          "max": null,
          "step": 0.1,
          "help": "Measure around the waist in inches for waist-to-height context."
        }
      ],
      "defaultState": {
        "unitMode": 1,
        "ageYears": 30,
        "sexCode": 1,
        "weightKg": 70,
        "heightCm": 175,
        "waistCm": 86,
        "weightLb": 154,
        "heightFeet": 5,
        "heightInches": 9,
        "waistInches": 34
      },
      "outputLabel": "Body mass index",
      "outputUnit": "kg/m², plus waist-to-height ratio, healthy-weight range, BMI Prime and Ponderal Index",
      "assumptions": [
        "The calculator supports metric BMI arithmetic and the equivalent US customary formula using the 703 conversion factor.",
        "Height must be greater than zero because the formula divides by height squared.",
        "Adult BMI categories are screening categories for adults aged 20 and over, not a diagnosis or individual health assessment.",
        "The healthy-weight range uses common adult BMI boundaries of 18.5 to 24.9 and is rounded for practical display.",
        "Waist-to-height ratio is shown as a screening context marker; a common public-health guide is to keep waist circumference below half of height, but individual interpretation varies.",
        "BMI can be misleading for children, pregnancy, athletes, older adults and people with unusual body composition; use clinical guidance for health decisions."
      ],
      "workedExample": "For 154 lb, 5 ft 9 in and a 34 in waist: total height is 69 in. BMI = 703 × 154 ÷ 69² = 22.74 kg/m². Waist-to-height ratio = 34 ÷ 69 = 0.49, just below the common 0.50 guide.",
      "keywords": [
        "bmi calculator",
        "bmi calculator formula",
        "online bmi calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "bmi",
        "calculator"
      ]
    },
    {
      "slug": "bmr-calculator",
      "name": "BMR Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/bmr-calculator/",
      "category": "Health & Fitness",
      "status": "planned",
      "description": "Estimate basal metabolic rate using Mifflin-St Jeor or revised Harris-Benedict, with activity-adjusted daily context.",
      "directAnswer": "The BMR calculator estimates resting energy needs from weight, height, age and equation sex, then keeps activity-adjusted maintenance calories visible as context.",
      "formulaText": "Mifflin-St Jeor BMR = 10 × weight kg + 6.25 × height cm − 5 × age years + S, where S is +5 for the male equation and −161 for the female equation. The interface also offers a revised Harris-Benedict comparison.",
      "formulaLatex": "BMR = 10w + 6.25h - 5a + sex adjustment",
      "inputs": [
        {
          "key": "sexCode",
          "label": "Sex for equation",
          "unit": null,
          "defaultValue": 1,
          "min": 1,
          "max": 2,
          "step": 1,
          "help": null
        },
        {
          "key": "ageYears",
          "label": "Age",
          "unit": "years",
          "defaultValue": 35,
          "min": 10,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "weightKg",
          "label": "Weight",
          "unit": "kg",
          "defaultValue": 80,
          "min": 1,
          "max": null,
          "step": 0.1,
          "help": null
        },
        {
          "key": "heightCm",
          "label": "Height",
          "unit": "cm",
          "defaultValue": 178,
          "min": 1,
          "max": null,
          "step": 0.1,
          "help": null
        }
      ],
      "defaultState": {
        "sexCode": 1,
        "ageYears": 35,
        "weightKg": 80,
        "heightCm": 178
      },
      "outputLabel": "Basal metabolic rate",
      "outputUnit": "kcal/day",
      "assumptions": [
        "BMR is an estimate of resting energy use, not total daily expenditure.",
        "Activity multipliers are rough context, not clinical prescription.",
        "Population equations can be less accurate for unusual body composition, pregnancy, illness, adolescents, elite athletes or clinical conditions."
      ],
      "workedExample": "An 80 kg, 178 cm, 35-year-old using the male equation gives 10×80 + 6.25×178 − 5×35 + 5 = 1,742.5 kcal/day.",
      "keywords": [
        "bmr calculator",
        "bmr calculator formula",
        "online bmr calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "bmr",
        "calculator"
      ]
    },
    {
      "slug": "body-fat-percentage-calculator",
      "name": "Body Fat Percentage Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/body-fat-percentage-calculator/",
      "category": "Health & Fitness",
      "status": "planned",
      "description": "Estimate body fat percentage from circumference measurements using the U.S. Navy method for adults.",
      "directAnswer": "The body fat calculator converts circumferences to inches and applies the U.S. Navy circumference equations for adult body-fat estimation.",
      "formulaText": "Male: 86.010 log10(waist − neck) − 70.041 log10(height) + 36.76. Female: 163.205 log10(waist + hip − neck) − 97.684 log10(height) − 78.387.",
      "formulaLatex": "Body fat \\% = body density or circumference model estimate",
      "inputs": [
        {
          "key": "sexCode",
          "label": "Formula sex",
          "unit": null,
          "defaultValue": 1,
          "min": 1,
          "max": 2,
          "step": 1,
          "help": null
        },
        {
          "key": "heightCm",
          "label": "Height",
          "unit": "cm",
          "defaultValue": 178,
          "min": 100,
          "max": null,
          "step": 0.1,
          "help": null
        },
        {
          "key": "neckCm",
          "label": "Neck circumference",
          "unit": "cm",
          "defaultValue": 40,
          "min": 1,
          "max": null,
          "step": 0.1,
          "help": null
        },
        {
          "key": "waistCm",
          "label": "Waist circumference",
          "unit": "cm",
          "defaultValue": 90,
          "min": 1,
          "max": null,
          "step": 0.1,
          "help": null
        },
        {
          "key": "hipCm",
          "label": "Hip circumference",
          "unit": "cm",
          "defaultValue": 100,
          "min": 1,
          "max": null,
          "step": 0.1,
          "help": null
        }
      ],
      "defaultState": {
        "sexCode": 1,
        "heightCm": 178,
        "neckCm": 40,
        "waistCm": 90,
        "hipCm": 100
      },
      "outputLabel": "Estimated body fat",
      "outputUnit": "percent",
      "assumptions": [
        "Measurements must be consistent and positive.",
        "The U.S. Navy circumference constants are treated as a fixed published regression, not a changing statutory rate.",
        "Circumference estimates are approximate and can differ from lab methods.",
        "This is health education only, not diagnosis."
      ],
      "workedExample": "For a male-formula adult at 178 cm height, 90 cm waist and 40 cm neck, the equation estimates about 18.8% body fat.",
      "keywords": [
        "body fat calculator",
        "body fat calculator formula",
        "online body fat calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "body",
        "fat"
      ]
    },
    {
      "slug": "budget-calculator",
      "name": "Budget Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/budget-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Build a monthly budget from income, housing, bills, debt and savings, with surplus/shortfall and savings-rate outputs.",
      "directAnswer": "A budget calculator adds monthly spending and planned savings, compares the total with take-home income, then shows whether the month has a surplus or shortfall. This page keeps each category, buffer, savings rate, formula and printable worksheet visible for household planning.",
      "formulaText": "Amounts are first normalized to monthly values from the selected period. Core expenses = housing + utilities and bills + food and groceries + transport + debt payments + other spending. Buffer = core expenses × buffer percent ÷ 100. Planned outflow = core expenses + savings goal + buffer. Budget result = monthly take-home income − planned outflow. Savings rate = savings goal ÷ monthly take-home income × 100.",
      "formulaLatex": "Surplus = income - expenses - planned savings",
      "inputs": [
        {
          "key": "budgetPeriodCode",
          "label": "Budget period",
          "unit": null,
          "defaultValue": 3,
          "min": 1,
          "max": 4,
          "step": 1,
          "help": "Choose the period used for income and category amounts; the result is normalized to a monthly budget."
        },
        {
          "key": "monthlyIncome",
          "label": "Monthly take-home income",
          "unit": "$/month",
          "defaultValue": 4500,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Use after-tax income available for the month, not annual salary."
        },
        {
          "key": "housingCost",
          "label": "Housing",
          "unit": "$/month",
          "defaultValue": 1400,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Rent or mortgage plus regular housing charges you want included."
        },
        {
          "key": "utilitiesBills",
          "label": "Utilities and bills",
          "unit": "$/month",
          "defaultValue": 450,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Power, water, phone, internet, insurance and subscriptions."
        },
        {
          "key": "foodGroceries",
          "label": "Food and groceries",
          "unit": "$/month",
          "defaultValue": 650,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Groceries, household basics and regular meal spending."
        },
        {
          "key": "transportCost",
          "label": "Transport",
          "unit": "$/month",
          "defaultValue": 350,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Fuel, fares, parking, registration, insurance or routine car costs."
        },
        {
          "key": "debtPayments",
          "label": "Debt payments",
          "unit": "$/month",
          "defaultValue": 400,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Minimum or planned loan, credit-card and other debt payments."
        },
        {
          "key": "savingsGoal",
          "label": "Savings goal",
          "unit": "$/month",
          "defaultValue": 500,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Emergency fund, investing, sinking funds or other planned saving."
        },
        {
          "key": "otherSpending",
          "label": "Other spending",
          "unit": "$/month",
          "defaultValue": 600,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Clothing, health, entertainment, gifts, pets, school and flexible categories."
        },
        {
          "key": "bufferPercent",
          "label": "Planning buffer",
          "unit": "% of expenses",
          "defaultValue": 5,
          "min": 0,
          "max": null,
          "step": 0.5,
          "help": "Optional cushion for irregular costs, underestimates or price changes."
        }
      ],
      "defaultState": {
        "budgetPeriodCode": 3,
        "monthlyIncome": 4500,
        "housingCost": 1400,
        "utilitiesBills": 450,
        "foodGroceries": 650,
        "transportCost": 350,
        "debtPayments": 400,
        "savingsGoal": 500,
        "otherSpending": 600,
        "bufferPercent": 5
      },
      "outputLabel": "Monthly budget result",
      "outputUnit": "surplus or shortfall with expense total, savings rate and buffer check",
      "assumptions": [
        "Income and category amounts use the selected period, then the calculator converts them to a monthly basis for the final result.",
        "The savings goal is treated as a planned outflow so it is protected before the surplus or shortfall is shown.",
        "The buffer is applied to spending categories, not to income, and is shown separately from the exact category total.",
        "Debt payments are cash-flow lines only; the calculator does not choose payoff order, interest strategy, taxes, credit rules or investment advice.",
        "This is household planning arithmetic, not financial advice. Use bank statements, bills and professional guidance for formal decisions."
      ],
      "workedExample": "For $4,500 take-home income, core expenses are $1,400 + $450 + $650 + $350 + $400 + $600 = $3,850. A 5% buffer is $192.50. With a $500 savings goal, planned outflow is $4,542.50, so the month shows a $42.50 shortfall.",
      "keywords": [
        "budget calculator",
        "budget calculator formula",
        "online budget calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "budget",
        "calculator"
      ]
    },
    {
      "slug": "business-days-calculator",
      "name": "Business Days Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/business-days-calculator/",
      "category": "Date & Time",
      "status": "live",
      "description": "Count weekday business days between two dates, with optional start-date and end-date inclusion controls.",
      "directAnswer": "From Friday 15 May 2026 to Friday 29 May 2026 there are 11 weekday business days when both endpoints are included and no public-holiday preset is selected. With the US federal or UK England & Wales 2026 preset selected, Memorial Day / Spring bank holiday on Monday 25 May is deducted and the result becomes 10.",
      "formulaText": "Business days = count of included dates where weekday is Monday through Friday - selected public holidays that fall on included weekdays. Start and end dates are included only when their toggles are set to 1.",
      "formulaLatex": "Target date = start date \\\\pm counted calendar or business-day offset",
      "inputs": [
        {
          "key": "startYear",
          "label": "Start year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "startMonth",
          "label": "Start month",
          "unit": null,
          "defaultValue": 5,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "startDay",
          "label": "Start day",
          "unit": null,
          "defaultValue": 15,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        },
        {
          "key": "endYear",
          "label": "End year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "endMonth",
          "label": "End month",
          "unit": null,
          "defaultValue": 5,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "endDay",
          "label": "End day",
          "unit": null,
          "defaultValue": 29,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        },
        {
          "key": "includeStart",
          "label": "Include start date",
          "unit": "1 yes, 0 no",
          "defaultValue": 1,
          "min": 0,
          "max": 1,
          "step": 1,
          "help": "Use 1 to count the start date when it is a weekday, or 0 to begin counting after it."
        },
        {
          "key": "includeEnd",
          "label": "Include end date",
          "unit": "1 yes, 0 no",
          "defaultValue": 1,
          "min": 0,
          "max": 1,
          "step": 1,
          "help": "Use 1 to count the end date when it is a weekday, or 0 to stop before it."
        },
        {
          "key": "holidayCalendar",
          "label": "Public holiday calendar",
          "unit": null,
          "defaultValue": 0,
          "min": 0,
          "max": 4,
          "step": 1,
          "help": "Optional 2026 official-source preset. Choose none for pure weekday counting."
        }
      ],
      "defaultState": {
        "startYear": 2026,
        "startMonth": 5,
        "startDay": 15,
        "endYear": 2026,
        "endMonth": 5,
        "endDay": 29,
        "includeStart": 1,
        "includeEnd": 1,
        "holidayCalendar": 0
      },
      "outputLabel": "Business days",
      "outputUnit": "weekdays",
      "assumptions": [
        "Monday to Friday are treated as ordinary business days.",
        "Saturday and Sunday are excluded.",
        "Public holidays are deducted only when a listed 2026 official-source preset is selected.",
        "Company shutdowns, regional weekends and industry-specific calendars are not deducted.",
        "Dates are evaluated at UTC midnight so daylight-saving hour changes do not affect date-only counting."
      ],
      "workedExample": "15 May 2026 is a Friday and 29 May 2026 is also a Friday. Including both endpoints gives 11 Monday-to-Friday dates. If the US federal or UK England & Wales 2026 preset is selected, Monday 25 May 2026 is a holiday in that preset, so the calculator subtracts one holiday and returns 10 business days.",
      "keywords": [
        "business days calculator",
        "business days calculator formula",
        "online business days calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "business",
        "days"
      ]
    },
    {
      "slug": "business-loan-calculator",
      "name": "Business Loan Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/business-loan-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Estimate business loan payments for cash-flow planning, including financed fees, deposit, APR, term and extra-payment comparison.",
      "directAnswer": "Enter a business loan amount, APR, term, financed fee and deposit to estimate monthly debt service, total interest, and the effect of extra repayments.",
      "formulaText": "Financed balance = max(0, loan amount + upfront financed fee − down payment). Monthly rate = APR ÷ 100 ÷ 12. Number of payments = term years × 12. Fixed payment = P × r ÷ (1 − (1 + r)^−n). If APR is 0, payment = P ÷ n. Total interest = payment × n − P.",
      "formulaLatex": "Payment = P r (1 + r)^{n} / ((1 + r)^{n} - 1)",
      "inputs": [
        {
          "key": "loanAmount",
          "label": "Business loan amount",
          "unit": "$",
          "defaultValue": 75000,
          "min": 0,
          "max": null,
          "step": 500,
          "help": "Amount the business plans to borrow before any financed fee or deposit."
        },
        {
          "key": "annualRate",
          "label": "Annual interest rate",
          "unit": "% APR",
          "defaultValue": 9.25,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Nominal annual rate for the fixed-rate business loan estimate."
        },
        {
          "key": "termYears",
          "label": "Loan term",
          "unit": "years",
          "defaultValue": 4,
          "min": 0.083333,
          "max": null,
          "step": 0.25,
          "help": "Repayment term in years. Four years equals 48 monthly payments."
        },
        {
          "key": "upfrontFee",
          "label": "Financed establishment fee",
          "unit": "$",
          "defaultValue": 750,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Optional fee rolled into the loan balance."
        },
        {
          "key": "downPayment",
          "label": "Owner cash contribution",
          "unit": "$",
          "defaultValue": 5000,
          "min": 0,
          "max": null,
          "step": 500,
          "help": "Cash contribution subtracted before the payment is calculated."
        },
        {
          "key": "extraMonthlyPayment",
          "label": "Extra monthly repayment",
          "unit": "$",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Optional extra repayment for payoff and interest-saved comparison."
        }
      ],
      "defaultState": {
        "loanAmount": 75000,
        "annualRate": 9.25,
        "termYears": 4,
        "upfrontFee": 750,
        "downPayment": 5000,
        "extraMonthlyPayment": 0
      },
      "outputLabel": "Monthly debt service",
      "outputUnit": "estimated monthly payment for cash-flow planning",
      "assumptions": [
        "The calculator estimates a fixed-rate, fully amortizing loan with equal monthly payments.",
        "APR is treated as a nominal annual rate divided into monthly periods; lender APR disclosures, fees, compounding rules and daily interest methods may differ.",
        "Upfront financed fees increase the balance only when they are rolled into the loan; a cash fee should not be entered there.",
        "The down payment is subtracted before payment calculation and is not included in total interest.",
        "Extra monthly payment is a planning comparison, not a formal payoff schedule; confirm prepayment rules, fees and exact balances with the lender."
      ],
      "workedExample": "For a $75,000 business loan, $750 financed fee and $5,000 owner contribution, the financed balance is $70,750. At 9.25% APR over 4 years, the fixed-payment estimate is about $1,769.03 per month before lender-specific fees or taxes.",
      "keywords": [
        "business loan calculator",
        "business loan calculator formula",
        "online business loan calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "business",
        "loan"
      ]
    },
    {
      "slug": "calorie-calculator",
      "name": "Calorie Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/calorie-calculator/",
      "category": "Health & Fitness",
      "status": "planned",
      "description": "Calorie Calculator estimates daily calorie target from age, sex, weight, height, activity and weekly weight-change goal.",
      "directAnswer": "Calorie Calculator estimates BMR, maintenance calories and a goal-adjusted daily calorie target from visible inputs.",
      "formulaText": "Mifflin-St Jeor BMR = 10w + 6.25h - 5a + sex constant. Maintenance = BMR x activity. Goal adjustment = kg/week x 7700 / 7.",
      "formulaLatex": "Daily calories = BMR \\times activity factor \\pm goal adjustment",
      "inputs": [
        {
          "key": "sexCode",
          "label": "Sex code",
          "unit": "1 male, 2 female",
          "defaultValue": 1,
          "min": 1,
          "max": 2,
          "step": 1,
          "help": "Used for the Mifflin-St Jeor BMR constant."
        },
        {
          "key": "ageYears",
          "label": "Age",
          "unit": "years",
          "defaultValue": 35,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Age in years."
        },
        {
          "key": "weightKg",
          "label": "Body weight",
          "unit": "kg",
          "defaultValue": 80,
          "min": 0,
          "max": null,
          "step": 0.5,
          "help": "Current body weight."
        },
        {
          "key": "heightCm",
          "label": "Height",
          "unit": "cm",
          "defaultValue": 178,
          "min": 0,
          "max": null,
          "step": 0.5,
          "help": "Standing height."
        },
        {
          "key": "activityFactor",
          "label": "Activity factor",
          "unit": "multiplier",
          "defaultValue": 1.45,
          "min": 1,
          "max": null,
          "step": 0.05,
          "help": "Multiplier applied to BMR for maintenance calories."
        },
        {
          "key": "goalChangePerWeekKg",
          "label": "Goal change",
          "unit": "kg/week",
          "defaultValue": -0.25,
          "min": null,
          "max": null,
          "step": 0.05,
          "help": "Negative for loss, positive for gain."
        }
      ],
      "defaultState": {
        "sexCode": 1,
        "ageYears": 35,
        "weightKg": 80,
        "heightCm": 178,
        "activityFactor": 1.45,
        "goalChangePerWeekKg": -0.25
      },
      "outputLabel": "Daily calorie target",
      "outputUnit": "kcal/day",
      "assumptions": [
        "Uses Mifflin-St Jeor and a 7700 kcal/kg planning rule.",
        "Activity factor and goal change are estimates.",
        "Not medical, dietetic or sports-performance advice."
      ],
      "workedExample": "80 kg, 178 cm, age 35, male and activity 1.45 gives maintenance from BMR x activity, then adjusts for the weekly goal.",
      "keywords": [
        "calorie calculator",
        "calorie calculator formula",
        "online calorie calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "calorie",
        "calculator"
      ]
    },
    {
      "slug": "calories-burned-calculator",
      "name": "Calories Burned Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/calories-burned-calculator/",
      "category": "Health & Fitness",
      "status": "planned",
      "description": "Calories Burned Calculator estimates activity energy from body weight, MET value, duration and session count.",
      "directAnswer": "Calories Burned Calculator uses the standard MET planning equation with body weight, minutes and session count visible beside the result.",
      "formulaText": "Calories = MET x 3.5 x body weight kg / 200 x minutes x sessions.",
      "formulaLatex": "Calories burned = MET \\times body weight kg \\times duration hours",
      "inputs": [
        {
          "key": "bodyWeightKg",
          "label": "Body weight",
          "unit": "kg",
          "defaultValue": 80,
          "min": 0,
          "max": null,
          "step": 0.5,
          "help": "Current body weight."
        },
        {
          "key": "met",
          "label": "Activity MET",
          "unit": "MET",
          "defaultValue": 6,
          "min": 0,
          "max": null,
          "step": 0.1,
          "help": "Metabolic equivalent for the activity."
        },
        {
          "key": "minutes",
          "label": "Duration",
          "unit": "minutes",
          "defaultValue": 45,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Minutes per session."
        },
        {
          "key": "sessions",
          "label": "Sessions",
          "unit": "count",
          "defaultValue": 1,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Number of repeated sessions."
        }
      ],
      "defaultState": {
        "bodyWeightKg": 80,
        "met": 6,
        "minutes": 45,
        "sessions": 1
      },
      "outputLabel": "Estimated calories burned",
      "outputUnit": "kcal",
      "assumptions": [
        "MET values are approximate activity averages.",
        "Fitness, efficiency, terrain and sensors can change real energy use.",
        "Not medical or training advice."
      ],
      "workedExample": "80 kg at 6 MET for 45 minutes burns about 378 kcal by the MET equation.",
      "keywords": [
        "calories burned calculator",
        "calories burned calculator formula",
        "online calories burned calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "calories",
        "burned"
      ]
    },
    {
      "slug": "circle-calculator",
      "name": "Circle Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/circle-calculator/",
      "category": "Core Mathematics",
      "status": "live",
      "description": "Calculate circle area, circumference, diameter/radius checks, and optional planning allowance from a radius or diameter.",
      "directAnswer": "Enter a radius or diameter to calculate circle area and circumference, then keep any ordering or layout allowance separate from the exact geometry.",
      "formulaText": "Area = π × radius². Circumference = 2 × π × radius. Diameter = 2 × radius. Optional planning area = area × (1 + allowance percent ÷ 100).",
      "formulaLatex": "Area = \\\\pi r^{2}; circumference = 2 \\\\pi r",
      "inputs": [
        {
          "key": "radius",
          "label": "Radius",
          "unit": "units",
          "defaultValue": 5,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Distance from the centre of the circle to its edge."
        },
        {
          "key": "diameter",
          "label": "Diameter",
          "unit": "units",
          "defaultValue": 10,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Full width through the centre. If entered, diameter is used to confirm the radius."
        },
        {
          "key": "wastePercent",
          "label": "Planning allowance",
          "unit": "%",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 0.5,
          "help": "Optional allowance for material ordering, layout waste or measurement tolerance."
        }
      ],
      "defaultState": {
        "radius": 5,
        "diameter": 10,
        "wastePercent": 0
      },
      "outputLabel": "Circle area",
      "outputUnit": "square units",
      "assumptions": [
        "Radius and diameter use the same linear unit, such as centimetres, metres, inches or feet.",
        "The result is in square units matching the input unit: cm², m², in², ft² or another stated unit.",
        "If the radius is entered, it is the primary measurement; diameter is shown as a check and converted to radius when radius is zero.",
        "The optional allowance is kept separate from the true geometric area so quotes, worksheets and cut lists do not confuse measurement with ordering margin."
      ],
      "workedExample": "For radius 5, area = π × 5² = 78.5398 square units, displayed as 78.54. Circumference = 2 × π × 5 = 31.4159 units, displayed as 31.42. With a 10% allowance, the planning area is 86.39 square units.",
      "keywords": [
        "circle calculator",
        "circle calculator formula",
        "online circle calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "circle",
        "calculator"
      ]
    },
    {
      "slug": "commission-calculator",
      "name": "Commission Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/commission-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Calculate sales commission from sale amount, commission rate, base pay and returns or chargebacks.",
      "directAnswer": "A 5,000 sale at an 8% commission rate earns 400 before tax or plan-specific deductions. This calculator can subtract returns or chargebacks first, then add optional base pay so the printable record shows both commission and total gross pay.",
      "formulaText": "Net commissionable sales = sales amount − returns or chargebacks. Commission = net commissionable sales × commission rate ÷ 100. Total gross pay shown = commission + base pay.",
      "formulaLatex": "Commission = sale amount \\times commission rate / 100",
      "inputs": [
        {
          "key": "salesAmount",
          "label": "Sales amount",
          "unit": "currency",
          "defaultValue": 5000,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Gross value of the sale, booking or invoice before any commission adjustment."
        },
        {
          "key": "commissionRate",
          "label": "Commission rate",
          "unit": "%",
          "defaultValue": 8,
          "min": 0,
          "max": null,
          "step": 0.1,
          "help": "Enter the percentage rate from the plan or quote agreement."
        },
        {
          "key": "basePay",
          "label": "Base pay",
          "unit": "optional currency",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Optional salary, draw or guaranteed pay to add to the commission amount."
        },
        {
          "key": "returnsAmount",
          "label": "Returns or chargebacks",
          "unit": "currency",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Sales value removed before commission, if the plan deducts returns or chargebacks."
        }
      ],
      "defaultState": {
        "salesAmount": 5000,
        "commissionRate": 8,
        "basePay": 0,
        "returnsAmount": 0
      },
      "outputLabel": "Commission earned",
      "outputUnit": "currency",
      "assumptions": [
        "Commission is calculated on the entered net commissionable sales amount after subtracting returns or chargebacks.",
        "The commission rate is a flat percentage. Tiered rates, accelerators, caps, clawbacks and quota rules are not inferred.",
        "Base pay is added arithmetically and is not treated as a recoverable draw unless the user applies that policy separately.",
        "The result is gross arithmetic before tax, superannuation, pension, benefits, payroll withholding, employment law, contract rules or employer-specific commission-plan terms."
      ],
      "workedExample": "Sales of 5,000 minus 0 returns leaves 5,000 of commissionable sales. At 8%, commission is 5,000 × 8 ÷ 100 = 400. If base pay is 0, total gross pay shown is 400. If base pay were 1,200, the total would be 1,600 before deductions.",
      "keywords": [
        "commission calculator",
        "commission calculator formula",
        "online commission calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "commission",
        "calculator"
      ]
    },
    {
      "slug": "compound-interest-calculator",
      "name": "Compound Interest Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/compound-interest-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Project compound growth from a starting balance, regular contributions, interest rate, compounding frequency and time horizon.",
      "directAnswer": "A 10,000 starting balance with 250 added monthly for 10 years at 5% annual interest compounded monthly grows to about 55,290.66. The calculator compounds the starting balance and adds each contribution at the end of its month.",
      "formulaText": "Periodic rate = annual rate ÷ compounds per year. Compound periods = years × compounds per year. Future value of principal = P × (1 + r)^n. Contributions are accumulated monthly by applying interest between end-of-month deposits.",
      "formulaLatex": "FV = P(1 + r/n)^{nt} + contributions",
      "inputs": [
        {
          "key": "principal",
          "label": "Starting balance",
          "unit": "currency",
          "defaultValue": 10000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Initial amount before future contributions or interest."
        },
        {
          "key": "annualRate",
          "label": "Annual interest rate",
          "unit": "%",
          "defaultValue": 5,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Nominal annual rate used for the compound-growth estimate."
        },
        {
          "key": "years",
          "label": "Time horizon",
          "unit": "years",
          "defaultValue": 10,
          "min": 0,
          "max": null,
          "step": 0.25,
          "help": "How long the money remains invested or saved."
        },
        {
          "key": "monthlyContribution",
          "label": "Monthly contribution",
          "unit": "currency/month",
          "defaultValue": 250,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Regular end-of-month contribution. Use 0 for lump-sum only."
        },
        {
          "key": "compoundsPerYear",
          "label": "Compounding frequency",
          "unit": "times/year",
          "defaultValue": 12,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Use 12 for monthly, 4 for quarterly, 1 for annual compounding."
        }
      ],
      "defaultState": {
        "principal": 10000,
        "annualRate": 5,
        "years": 10,
        "monthlyContribution": 250,
        "compoundsPerYear": 12
      },
      "outputLabel": "Future value",
      "outputUnit": "currency total",
      "assumptions": [
        "The entered annual rate is a nominal planning rate, not a guaranteed return.",
        "Regular contributions are treated as end-of-month deposits.",
        "Compounding frequency controls the starting balance growth and the monthly simulation uses the equivalent monthly rate from the entered annual rate.",
        "Taxes, fees, inflation, account minimums, early-withdrawal penalties and changing market returns are not included."
      ],
      "workedExample": "Start with 10,000, add 250 at the end of each month, use 5% annual interest and compound monthly for 10 years. The calculator applies the monthly rate for 120 months and adds 250 after each month, giving about 55,290.66 total.",
      "keywords": [
        "compound interest calculator",
        "compound interest calculator formula",
        "online compound interest calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "compound",
        "interest"
      ]
    },
    {
      "slug": "cooking-volume-converter",
      "name": "Cooking & Volume Converter",
      "canonicalUrl": "https://www.calculationtime.com/calculators/cooking-volume-converter/",
      "category": "Measurement & Unit Conversion",
      "status": "live",
      "description": "Convert cups, fluid ounces, millilitres, litres, quarts, gallons, pints, tablespoons and teaspoons in one bidirectional liquid-volume tool with US cooking-volume factors and printable proof.",
      "directAnswer": "A Cooking & Volume Converter is the survivor page for closely related cup, pint, tablespoon, teaspoon, fluid-ounce, millilitre, litre, quart and US-gallon conversions, replacing one-direction cooking-volume micro-routes with one reversible tool.",
      "formulaText": "Convert the source unit to litres first, then convert litres to the target unit. One US cup = 0.2365882365 L. One US pint = 0.473176473 L. One US fluid ounce = 0.0295735295625 L. One US tablespoon = 0.01478676478125 L. One US teaspoon = 0.00492892159375 L. One US quart = 0.946352946 L. One US gallon = 3.785411784 L.",
      "formulaLatex": "L = value \\times sourceFactor; result = L \\div targetFactor",
      "inputs": [
        {
          "key": "value",
          "label": "Volume value",
          "unit": null,
          "defaultValue": 2,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Enter the liquid-volume value from the recipe, measuring jug, worksheet, label or kitchen note."
        },
        {
          "key": "fromUnitCode",
          "label": "From volume unit",
          "unit": null,
          "defaultValue": 23,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 23 US cups, 24 US fluid ounces, 12 millilitres, 11 litres, 25 US quarts, 13 US gallons, 36 US pints, 26 US tablespoons or 37 US teaspoons."
        },
        {
          "key": "toUnitCode",
          "label": "To volume unit",
          "unit": null,
          "defaultValue": 12,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 23 US cups, 24 US fluid ounces, 12 millilitres, 11 litres, 25 US quarts, 13 US gallons, 36 US pints, 26 US tablespoons or 37 US teaspoons."
        }
      ],
      "defaultState": {
        "value": 2,
        "fromUnitCode": 23,
        "toUnitCode": 12
      },
      "outputLabel": "Converted volume",
      "outputUnit": "selected liquid-volume unit",
      "assumptions": [
        "The converter uses US customary liquid-volume units for cups, pints, tablespoons, teaspoons, fluid ounces, quarts and gallons.",
        "One US cup is treated as 8 US fluid ounces, or 236.5882365 millilitres.",
        "One US tablespoon is treated as 0.5 US fluid ounces, or 14.78676478125 millilitres.",
        "One US pint is treated as 2 US cups, and one US tablespoon is treated as 3 US teaspoons.",
        "This page converts liquid volume only. It does not convert ingredient weight to volume because grams-to-cups depends on ingredient density."
      ],
      "workedExample": "For 2 US cups to millilitres: 2 cups x 0.2365882365 L = 0.473176473 L, and 0.473176473 L x 1000 = 473.176473 mL.",
      "keywords": [
        "cooking volume converter",
        "cups pints tablespoons teaspoons millilitres litres fluid ounces converter",
        "recipe volume conversion calculator",
        "transparent calculator",
        "calculationtime"
      ]
    },
    {
      "slug": "countdown-timer",
      "name": "Countdown Timer",
      "canonicalUrl": "https://www.calculationtime.com/calculators/countdown-timer/",
      "category": "Date & Time",
      "status": "live",
      "description": "Calculate days, hours, minutes and seconds remaining until a target date-time, or elapsed after the event passes, with unit-by-unit proof.",
      "directAnswer": "From 16 May 2026 at 12:00 to 25 December 2026 at 00:00, the countdown is 222 days and 12 hours. If the event has passed, the same calculator labels the elapsed time.",
      "formulaText": "Total seconds = floor(abs(target date/time − current date/time) ÷ 1,000). Days = floor(seconds ÷ 86,400); hours, minutes and seconds come from the remainder.",
      "formulaLatex": "Remaining time = target timestamp - current timestamp",
      "inputs": [
        {
          "key": "currentYear",
          "label": "Current year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "currentMonth",
          "label": "Current month",
          "unit": null,
          "defaultValue": 5,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "currentDay",
          "label": "Current day",
          "unit": null,
          "defaultValue": 16,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        },
        {
          "key": "currentHour",
          "label": "Current hour",
          "unit": null,
          "defaultValue": 12,
          "min": 0,
          "max": 23,
          "step": 1,
          "help": null
        },
        {
          "key": "currentMinute",
          "label": "Current minute",
          "unit": null,
          "defaultValue": 0,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        },
        {
          "key": "targetYear",
          "label": "Event year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "targetMonth",
          "label": "Event month",
          "unit": null,
          "defaultValue": 12,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "targetDay",
          "label": "Event day",
          "unit": null,
          "defaultValue": 25,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        },
        {
          "key": "targetHour",
          "label": "Event hour",
          "unit": null,
          "defaultValue": 0,
          "min": 0,
          "max": 23,
          "step": 1,
          "help": null
        },
        {
          "key": "targetMinute",
          "label": "Event minute",
          "unit": null,
          "defaultValue": 0,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        },
        {
          "key": "targetSecond",
          "label": "Event second",
          "unit": null,
          "defaultValue": 0,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "currentYear": 2026,
        "currentMonth": 5,
        "currentDay": 16,
        "currentHour": 12,
        "currentMinute": 0,
        "targetYear": 2026,
        "targetMonth": 12,
        "targetDay": 25,
        "targetHour": 0,
        "targetMinute": 0,
        "targetSecond": 0
      },
      "outputLabel": "Countdown",
      "outputUnit": "days, hours, minutes and seconds",
      "assumptions": [
        "The hero tool keeps six named event tabs, while the proof engine still reduces the active event to date and time fields.",
        "UTC arithmetic is used for the entered fields, so both current and target fields should be entered in the same intended local time basis.",
        "Leap seconds are ignored.",
        "Business-day countdowns are a future enhancement; the hero clockface now reflects the active applied event state."
      ],
      "workedExample": "Current 2026-05-16 12:00 to target 2026-12-25 00:00 is 19,224,000 seconds. That equals 222 days, 12 hours, 0 minutes and 0 seconds.",
      "keywords": [
        "countdown timer",
        "countdown timer formula",
        "countdown timer calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "countdown",
        "timer"
      ]
    },
    {
      "slug": "credit-card-calculator",
      "name": "Credit Card Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/credit-card-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Credit Card Calculator estimates card payoff time, interest, utilization and whether the payment is strong enough to reduce the balance.",
      "directAnswer": "Credit Card Calculator keeps payoff time, interest/fees and utilization in one live result so the card balance is easier to judge.",
      "formulaText": "Monthly interest = balance × APR ÷ 12. Each month: balance = balance + interest + fee − regular payment − extra payment. Repeat until the balance reaches zero.",
      "formulaLatex": "Balance next month = balance + interest - payment",
      "inputs": [
        {
          "key": "balance",
          "label": "Current card balance",
          "unit": "currency",
          "defaultValue": 6000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "The statement or current balance to model."
        },
        {
          "key": "creditLimit",
          "label": "Credit limit",
          "unit": "currency optional",
          "defaultValue": 10000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Used to show utilization alongside the payoff estimate."
        },
        {
          "key": "annualRate",
          "label": "Card APR",
          "unit": "percent",
          "defaultValue": 21.99,
          "min": 0,
          "max": 100,
          "step": 0.01,
          "help": "Annual percentage rate converted to a monthly interest estimate."
        },
        {
          "key": "monthlyPayment",
          "label": "Regular monthly payment",
          "unit": "currency",
          "defaultValue": 250,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Payment made each month before any extra amount."
        },
        {
          "key": "extraMonthlyPayment",
          "label": "Extra monthly payment",
          "unit": "currency optional",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Extra amount applied to the balance each month."
        },
        {
          "key": "monthlyFee",
          "label": "Monthly fee",
          "unit": "currency optional",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Recurring account fee included before payment."
        }
      ],
      "defaultState": {
        "balance": 6000,
        "creditLimit": 10000,
        "annualRate": 21.99,
        "monthlyPayment": 250,
        "extraMonthlyPayment": 0,
        "monthlyFee": 0
      },
      "outputLabel": "Card payoff and utilization",
      "outputUnit": "months, interest and utilization",
      "assumptions": [
        "APR is converted to a simple monthly rate.",
        "Payments are applied after monthly interest and fees.",
        "The payment and extra payment stay constant.",
        "New purchases, late fees, promotional rates, daily interest and issuer-specific allocation rules are not included."
      ],
      "workedExample": "A 6,000 card balance at 21.99% APR with a 250 payment first adds about 109.95 of interest, then applies the payment to reduce the balance.",
      "keywords": [
        "credit card calculator",
        "credit card calculator formula",
        "online credit card calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "credit",
        "card"
      ]
    },
    {
      "slug": "credit-card-payoff-calculator",
      "name": "Credit Card Payoff Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/credit-card-payoff-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Credit Card Payoff Calculator estimates payoff time, interest and extra-payment savings for a card balance.",
      "directAnswer": "Credit Card Payoff Calculator focuses on payoff months, total interest/fees and the saving from extra monthly card payments.",
      "formulaText": "Monthly interest = balance × APR ÷ 12. Each month: balance = balance + interest + fee − regular payment − extra payment. Repeat until the balance reaches zero.",
      "formulaLatex": "Balance next month = balance + interest - payment",
      "inputs": [
        {
          "key": "balance",
          "label": "Current card balance",
          "unit": "currency",
          "defaultValue": 9000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "The statement or current balance to model."
        },
        {
          "key": "creditLimit",
          "label": "Credit limit",
          "unit": "currency optional",
          "defaultValue": 12000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Used to show utilization alongside the payoff estimate."
        },
        {
          "key": "annualRate",
          "label": "Card APR",
          "unit": "percent",
          "defaultValue": 22.49,
          "min": 0,
          "max": 100,
          "step": 0.01,
          "help": "Annual percentage rate converted to a monthly interest estimate."
        },
        {
          "key": "monthlyPayment",
          "label": "Regular monthly payment",
          "unit": "currency",
          "defaultValue": 300,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Payment made each month before any extra amount."
        },
        {
          "key": "extraMonthlyPayment",
          "label": "Extra monthly payment",
          "unit": "currency optional",
          "defaultValue": 150,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Extra amount applied to the balance each month."
        },
        {
          "key": "monthlyFee",
          "label": "Monthly fee",
          "unit": "currency optional",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Recurring account fee included before payment."
        }
      ],
      "defaultState": {
        "balance": 9000,
        "creditLimit": 12000,
        "annualRate": 22.49,
        "monthlyPayment": 300,
        "extraMonthlyPayment": 150,
        "monthlyFee": 0
      },
      "outputLabel": "Estimated payoff time",
      "outputUnit": "months, interest and utilization",
      "assumptions": [
        "APR is converted to a simple monthly rate.",
        "Payments are applied after monthly interest and fees.",
        "The payment and extra payment stay constant.",
        "New purchases, late fees, promotional rates, daily interest and issuer-specific allocation rules are not included."
      ],
      "workedExample": "A 9,000 card balance at 22.49% APR with 300 regular and 150 extra per month is projected month by month until the balance reaches zero.",
      "keywords": [
        "credit card payoff calculator",
        "credit card payoff calculator formula",
        "online credit card payoff calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "credit",
        "card"
      ]
    },
    {
      "slug": "currency-converter",
      "name": "Currency Converter",
      "canonicalUrl": "https://www.calculationtime.com/calculators/currency-converter/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Currency Converter applies an entered exchange rate, percentage fee and fixed fee to show the converted amount after costs.",
      "directAnswer": "Currency Converter uses a user-entered rate and visible fee assumptions so a quote can be checked without pretending to provide live market pricing.",
      "formulaText": "Converted before fees = amount x exchange rate. Converted after fees = converted before fees - percentage fee - fixed fee.",
      "formulaLatex": "Converted amount = amount \\\\times exchange rate",
      "inputs": [
        {
          "key": "amount",
          "label": "Amount to convert",
          "unit": "currency",
          "defaultValue": 100,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Amount in the source currency."
        },
        {
          "key": "exchangeRate",
          "label": "Exchange rate",
          "unit": "target per source",
          "defaultValue": 1.5,
          "min": 0,
          "max": null,
          "step": 0.0001,
          "help": "How many target-currency units one source-currency unit buys."
        },
        {
          "key": "feePercent",
          "label": "Percentage fee",
          "unit": "percent optional",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 0.1,
          "help": "Optional percentage fee deducted from the converted amount."
        },
        {
          "key": "fixedFee",
          "label": "Fixed fee",
          "unit": "target currency optional",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 0.5,
          "help": "Optional fixed fee deducted in the target currency."
        }
      ],
      "defaultState": {
        "amount": 100,
        "exchangeRate": 1.5,
        "feePercent": 0,
        "fixedFee": 0
      },
      "outputLabel": "Converted amount after fees",
      "outputUnit": "target currency",
      "assumptions": [
        "The exchange rate is entered by the user and is not fetched live.",
        "Fees are simple deductions in the target currency.",
        "Spreads, settlement timing and card/network rules are not modelled."
      ],
      "workedExample": "100 at a rate of 1.5 converts to 150 before fees. With a 2% fee and 1 fixed fee, the after-fee result is 146.",
      "keywords": [
        "currency converter",
        "currency converter formula",
        "currency converter calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "currency",
        "converter"
      ]
    },
    {
      "slug": "date-add-or-subtract-calculator",
      "name": "Date Add or Subtract Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/date-add-or-subtract-calculator/",
      "category": "Date & Time",
      "status": "live",
      "description": "Date Add or Subtract Calculator moves a start date forward or backward by entered days and weeks.",
      "directAnswer": "Date Add or Subtract Calculator turns day and week offsets into a result date with weekday proof.",
      "formulaText": "Total offset days = day change + week change x 7. Result date = start date + total offset days.",
      "formulaLatex": "Target date = start date \\\\pm counted calendar or business-day offset",
      "inputs": [
        {
          "key": "startYear",
          "label": "Start year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Year for the starting date."
        },
        {
          "key": "startMonth",
          "label": "Start month",
          "unit": null,
          "defaultValue": 7,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": "Month number, 1 to 12."
        },
        {
          "key": "startDay",
          "label": "Start day",
          "unit": null,
          "defaultValue": 16,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": "Day of the month."
        },
        {
          "key": "dayChange",
          "label": "Days to add",
          "unit": "days",
          "defaultValue": 30,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use a negative number to subtract days."
        },
        {
          "key": "weekChange",
          "label": "Weeks to add",
          "unit": "weeks",
          "defaultValue": 0,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use a negative number to subtract weeks."
        }
      ],
      "defaultState": {
        "startYear": 2026,
        "startMonth": 7,
        "startDay": 16,
        "dayChange": 30,
        "weekChange": 0
      },
      "outputLabel": "Result date",
      "outputUnit": "calendar date",
      "assumptions": [
        "Uses Gregorian calendar dates at UTC midnight.",
        "Does not skip weekends or holidays.",
        "Legal and business deadlines may use different endpoint rules."
      ],
      "workedExample": "Starting 16 July 2026 and adding 30 days gives 15 August 2026.",
      "keywords": [
        "date add or subtract calculator",
        "date add or subtract calculator formula",
        "online date add or subtract calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "date",
        "add"
      ]
    },
    {
      "slug": "date-duration-calculator",
      "name": "Date Duration Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/date-duration-calculator/",
      "category": "Date & Time",
      "status": "live",
      "description": "Date Duration Calculator counts elapsed calendar days between two dates with weeks-and-days and inclusive-count cross-checks.",
      "directAnswer": "Date Duration Calculator compares start and end dates at UTC midnight and shows elapsed days, weeks plus days, and the inclusive-date contrast.",
      "formulaText": "Elapsed days = (end date at UTC midnight − start date at UTC midnight) ÷ 86,400,000. Whole weeks = floor(|elapsed days| ÷ 7). Remaining days = |elapsed days| mod 7.",
      "formulaLatex": "Duration = end timestamp - start timestamp",
      "inputs": [
        {
          "key": "startYear",
          "label": "Start year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Enter the year the date span starts."
        },
        {
          "key": "startMonth",
          "label": "Start month",
          "unit": null,
          "defaultValue": 5,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": "Use 1 for January through 12 for December."
        },
        {
          "key": "startDay",
          "label": "Start day",
          "unit": null,
          "defaultValue": 15,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": "Enter the day of the month. The calculator clamps impossible dates to the real last day of that month."
        },
        {
          "key": "endYear",
          "label": "End year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Enter the year the date span ends."
        },
        {
          "key": "endMonth",
          "label": "End month",
          "unit": null,
          "defaultValue": 6,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": "Use 1 for January through 12 for December."
        },
        {
          "key": "endDay",
          "label": "End day",
          "unit": null,
          "defaultValue": 14,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": "Enter the end day. Reverse dates are allowed and shown as a negative elapsed span."
        }
      ],
      "defaultState": {
        "startYear": 2026,
        "startMonth": 5,
        "startDay": 15,
        "endYear": 2026,
        "endMonth": 6,
        "endDay": 14
      },
      "outputLabel": "Date difference",
      "outputUnit": "elapsed days with weeks-and-days cross-check",
      "assumptions": [
        "The start date is day zero, so the main result is elapsed days between the two dates, not inclusive calendar-date counting.",
        "Dates are evaluated at UTC midnight to avoid daylight-saving hour changes in date-only arithmetic.",
        "Impossible month/day combinations are clamped to the real last day of that month before the difference is calculated.",
        "Reverse date ranges are allowed and shown as negative elapsed days so missed deadlines or past events can be checked.",
        "The calculator does not apply business-day, public-holiday, school-term, legal filing, rental, payroll or local close-of-business rules."
      ],
      "workedExample": "From 15 May 2026 to 14 June 2026, the start date is day zero. The calculator compares UTC midnight on both dates: 30 midnights have elapsed, so the result is 30 days, or 4 whole weeks and 2 remaining days.",
      "keywords": [
        "date duration calculator",
        "date duration calculator formula",
        "online date duration calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "date",
        "duration"
      ]
    },
    {
      "slug": "day-length-calculator",
      "name": "Day Length Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/day-length-calculator/",
      "category": "Astronomy & Sky",
      "status": "live",
      "description": "Calculate daylight length from Astronomy Engine sunrise and sunset for a date and observer location.",
      "directAnswer": "The day length calculator uses Astronomy Engine SearchRiseSet(Sun) for the entered local date and observer, then subtracts sunrise from sunset to calculate daylight length.",
      "formulaText": "observer = Astronomy.Observer(latitude, longitude, elevationMetres). t0 = local civil midnight converted to UTC. Sunrise = SearchRiseSet(Sun, observer, +1, t0, 1.05). Sunset = SearchRiseSet(Sun, observer, -1, t0, 1.05). Daylight length = sunset - sunrise.",
      "formulaLatex": "Day length = SearchRiseSet(Sun,set) - SearchRiseSet(Sun,rise)",
      "inputs": [
        {
          "key": "year",
          "label": "Year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1900,
          "max": 2100,
          "step": 1,
          "help": null
        },
        {
          "key": "month",
          "label": "Month",
          "unit": null,
          "defaultValue": 6,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "day",
          "label": "Day",
          "unit": null,
          "defaultValue": 21,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        },
        {
          "key": "latitude",
          "label": "Latitude",
          "unit": "degrees",
          "defaultValue": -33.9,
          "min": -89.8,
          "max": 89.8,
          "step": 0.1,
          "help": "Use positive for north, negative for south."
        },
        {
          "key": "longitude",
          "label": "Longitude",
          "unit": "degrees",
          "defaultValue": 151.2,
          "min": -180,
          "max": 180,
          "step": 0.1,
          "help": null
        },
        {
          "key": "timezoneOffset",
          "label": "UTC offset",
          "unit": "hours",
          "defaultValue": 10,
          "min": -12,
          "max": 14,
          "step": 0.5,
          "help": null
        },
        {
          "key": "elevationMetres",
          "label": "Elevation",
          "unit": "metres",
          "defaultValue": 0,
          "min": 0,
          "max": 9000,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "year": 2026,
        "month": 6,
        "day": 21,
        "latitude": -33.9,
        "longitude": 151.2,
        "timezoneOffset": 10,
        "elevationMetres": 0
      },
      "outputLabel": "Daylight length",
      "outputUnit": "hours and minutes",
      "assumptions": [
        "Astronomy Engine computes sunrise and sunset for the entered observer location.",
        "Timezone offset is entered manually and does not apply daylight-saving rules automatically.",
        "Flat horizon and entered elevation are used; local terrain and buildings can change visible daylight.",
        "Polar day/night edge cases are reported when no same-day sunrise/sunset pair is found."
      ],
      "workedExample": "At latitude -33.9°, longitude 151.2° and UTC+10 on 21 June 2026, the calculator searches for that local day's sunrise and sunset, then subtracts the two instants.",
      "keywords": [
        "day length calculator",
        "day length calculator formula",
        "online day length calculator",
        "sun/moon/astronomy calculator",
        "transparent calculator",
        "calculationtime",
        "day",
        "length"
      ]
    },
    {
      "slug": "debt-payoff-calculator",
      "name": "Debt Payoff Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/debt-payoff-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Estimate how long it will take to pay off a debt from balance, APR and monthly payment, with optional extra payment and fee fields kept visible.",
      "directAnswer": "An 8,000 balance at 18.9% APR with a 350 regular payment and 100 extra each month is estimated to pay off in 22 months, with about 1,459.62 of interest and fees. The calculator keeps balance, rate, payment, extras and fees visible so the payoff record can be checked later.",
      "formulaText": "Monthly rate = annual rate ÷ 12. Each month: interest = balance × monthly rate; new balance = balance + interest + monthly fee − monthly payment − extra payment. Repeat until the balance reaches zero, or report that the payment does not cover monthly interest and fees.",
      "formulaLatex": "Balance next month = balance + interest - payment",
      "inputs": [
        {
          "key": "balance",
          "label": "Current balance",
          "unit": "currency",
          "defaultValue": 8000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "The outstanding debt balance being repaid."
        },
        {
          "key": "annualRate",
          "label": "Annual interest rate / APR",
          "unit": "%",
          "defaultValue": 18.9,
          "min": 0,
          "max": 100,
          "step": 0.01,
          "help": "Nominal annual rate used as a monthly interest estimate."
        },
        {
          "key": "monthlyPayment",
          "label": "Planned monthly payment",
          "unit": "currency",
          "defaultValue": 350,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Regular monthly payment before any optional extra payment."
        },
        {
          "key": "extraMonthlyPayment",
          "label": "Extra monthly payment",
          "unit": "currency optional",
          "defaultValue": 100,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Optional extra amount paid toward principal each month."
        },
        {
          "key": "monthlyFee",
          "label": "Monthly fee",
          "unit": "currency optional",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Optional recurring account fee added before the payment is applied."
        }
      ],
      "defaultState": {
        "balance": 8000,
        "annualRate": 18.9,
        "monthlyPayment": 350,
        "extraMonthlyPayment": 100,
        "monthlyFee": 0
      },
      "outputLabel": "Estimated payoff time",
      "outputUnit": "months and total interest",
      "assumptions": [
        "Interest is estimated monthly from the entered annual rate divided by 12.",
        "Payments are treated as end-of-month payments after interest and any monthly fee are added.",
        "The same payment and extra payment are used every month until payoff.",
        "Late fees, promotional rates, daily interest, minimum-payment formulas, balance transfers, tax effects and lender-specific allocation rules are not modelled.",
        "This is planning arithmetic only, not credit, legal, tax or financial advice."
      ],
      "workedExample": "With an 8,000 balance and 18.9% APR, the first estimated monthly interest is 8,000 × (0.189 ÷ 12), or 126.00. A 350 regular payment plus 100 extra reduces the first-month balance by about 324.00 after interest. Repeating the same monthly rule gives an estimated 22-month payoff and about 1,459.62 of interest and fees.",
      "keywords": [
        "debt payoff calculator",
        "debt payoff calculator formula",
        "online debt payoff calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "debt",
        "payoff"
      ]
    },
    {
      "slug": "debt-to-income-ratio-calculator",
      "name": "Debt-to-Income Ratio Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/debt-to-income-ratio-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Calculate front-end and back-end debt-to-income ratios from monthly income, housing cost and recurring debt payments.",
      "directAnswer": "A debt-to-income ratio calculator divides monthly debt payments by gross monthly income. This page separates housing DTI from total DTI, keeps the recurring debt lines visible, and prints a lender-prep, rental, refinance or household budget record with the assumptions clearly stated.",
      "formulaText": "Front-end DTI = housing payment ÷ gross monthly income × 100. Back-end DTI = (housing payment + car loans + credit card minimums + student loans + other monthly debts) ÷ gross monthly income × 100. Remaining gross income after listed debts = gross monthly income − listed monthly debts.",
      "formulaLatex": "DTI = monthly debt payments / gross monthly income \\\\times 100",
      "inputs": [
        {
          "key": "grossMonthlyIncome",
          "label": "Gross monthly income",
          "unit": "$/month",
          "defaultValue": 6500,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Use gross monthly income before taxes and deductions. For annual salary, divide by 12."
        },
        {
          "key": "currentHousingPayment",
          "label": "Current or proposed housing payment",
          "unit": "$/month",
          "defaultValue": 1800,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Include rent or mortgage principal, interest, taxes, insurance and required association dues if known."
        },
        {
          "key": "carLoanPayment",
          "label": "Car loan or lease payments",
          "unit": "$/month",
          "defaultValue": 450,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Monthly vehicle loans or leases that continue after the application or budget review."
        },
        {
          "key": "creditCardMinimums",
          "label": "Credit card minimum payments",
          "unit": "$/month",
          "defaultValue": 220,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Use required monthly minimums, not total balances."
        },
        {
          "key": "studentLoanPayment",
          "label": "Student loan payments",
          "unit": "$/month",
          "defaultValue": 300,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Use the expected monthly obligation under the plan being reviewed."
        },
        {
          "key": "otherMonthlyDebts",
          "label": "Other recurring debts",
          "unit": "$/month",
          "defaultValue": 150,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Child support, personal loans or other fixed monthly obligations."
        },
        {
          "key": "targetBackEndDti",
          "label": "Target back-end DTI",
          "unit": "%",
          "defaultValue": 43,
          "min": 0.1,
          "max": null,
          "step": 0.1,
          "help": "Optional planning benchmark. Many programmes use their own rules, so this is only a comparison line."
        }
      ],
      "defaultState": {
        "grossMonthlyIncome": 6500,
        "currentHousingPayment": 1800,
        "carLoanPayment": 450,
        "creditCardMinimums": 220,
        "studentLoanPayment": 300,
        "otherMonthlyDebts": 150,
        "targetBackEndDti": 43
      },
      "outputLabel": "Debt-to-income ratio",
      "outputUnit": "front-end and back-end DTI percentages with remaining monthly income and target comparison",
      "assumptions": [
        "Income is treated as gross monthly income before taxes, deductions and living expenses.",
        "Debt payments are monthly recurring obligations, not total loan balances or optional extra repayments.",
        "Housing cost should include the housing payment basis being reviewed, such as rent or mortgage principal, interest, taxes, insurance and required dues where applicable.",
        "The target DTI field is a planning comparison only. Mortgage, rental, lending and assistance programmes use their own underwriting rules and documents.",
        "This calculator is for budgeting, pre-screening and classroom examples; it is not a loan approval, credit decision, legal advice or financial advice."
      ],
      "workedExample": "With $6,500 gross monthly income, $1,800 housing cost, $450 car payment, $220 credit card minimums, $300 student loan payment and $150 other debts, total listed monthly debt is $2,920. Front-end DTI = 1,800 ÷ 6,500 × 100 = 27.69%. Back-end DTI = 2,920 ÷ 6,500 × 100 = 44.92%.",
      "keywords": [
        "debt-to-income ratio calculator",
        "debt-to-income ratio calculator formula",
        "online debt-to-income ratio calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "debttoincome",
        "ratio"
      ]
    },
    {
      "slug": "deep-time-duration-calculator",
      "name": "Deep Time Duration Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/deep-time-duration-calculator/1/",
      "category": "Workshop Astronomy",
      "status": "listed",
      "description": "Workshop Astronomy preview: enter the core inputs and inspect the working",
      "directAnswer": "Workshop Astronomy preview: enter the core inputs and inspect the working",
      "formulaText": "Duration = end date - start date + inclusive day adjustment",
      "formulaLatex": "Duration = end date - start date + inclusive day adjustment",
      "inputs": [],
      "defaultState": {},
      "outputLabel": null,
      "outputUnit": null,
      "assumptions": [],
      "workedExample": null,
      "keywords": [
        "deep time duration calculator",
        "deep time duration calculator formula",
        "online deep time duration calculator",
        "workshop astronomy calculator",
        "transparent calculator",
        "calculationtime",
        "deep",
        "time"
      ]
    },
    {
      "slug": "discount-calculator",
      "name": "Discount Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/discount-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Calculate sale price, discount amount and optional tax from an original price and discount percentage, with a printable sale-tag, coupon or quote check.",
      "directAnswer": "A 25% discount on 120.00 saves 30.00 and leaves a sale price of 90.00 before any optional tax. The calculator multiplies the original price by the discount percentage, subtracts that saving, then applies optional tax to the discounted price only.",
      "formulaText": "Discount amount = original price × discount percent ÷ 100. Sale price = original price − discount amount. Optional tax total = sale price × (1 + tax percent ÷ 100).",
      "formulaLatex": "Discount amount = original price \\times discount rate / 100",
      "inputs": [
        {
          "key": "originalPrice",
          "label": "Original price",
          "unit": "money",
          "defaultValue": 120,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Enter the price before the discount."
        },
        {
          "key": "discountPercent",
          "label": "Discount",
          "unit": "%",
          "defaultValue": 25,
          "min": 0,
          "max": 100,
          "step": 0.01,
          "help": "Enter the advertised percentage off."
        },
        {
          "key": "taxPercent",
          "label": "Tax after discount",
          "unit": "% optional",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Use 0 when tax is already included or not needed."
        }
      ],
      "defaultState": {
        "originalPrice": 120,
        "discountPercent": 25,
        "taxPercent": 0
      },
      "outputLabel": "Sale price",
      "outputUnit": "discount amount, sale price and optional tax-inclusive total",
      "assumptions": [
        "The discount percentage is applied to the original price before optional tax is added.",
        "The optional tax field is simple percentage arithmetic only; it does not decide whether tax legally applies.",
        "Discounts above 100% are capped by the input field because a normal retail discount cannot reduce the price below zero.",
        "Currency symbols are not fixed because the arithmetic works the same for dollars, pounds, euros or any other decimal currency."
      ],
      "workedExample": "Original price 120.00 with a 25% discount: 120 × 25 ÷ 100 = 30.00 saved. Sale price = 120 − 30 = 90.00. With 10% tax after discount, total = 90 × 1.10 = 99.00.",
      "keywords": [
        "discount calculator",
        "discount calculator formula",
        "online discount calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "discount",
        "calculator"
      ]
    },
    {
      "slug": "eclipse-calculator",
      "name": "Eclipse Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/eclipse-calculator/",
      "category": "Astronomy & Sky",
      "status": "live",
      "description": "Find the next solar and lunar eclipse, check real local visibility for a chosen location, and see the upcoming eclipse schedule, backed by Astronomy Engine.",
      "directAnswer": "Eclipses require new/full Moon phase near the Moon’s orbital node. This page searches Astronomy Engine eclipse events to report the next and most recent real eclipse, and checks whether it is actually visible from a chosen location.",
      "formulaText": "SearchGlobalSolarEclipse(date − 370 days) and SearchLunarEclipse(date − 370 days), iterate forward one year, choose the nearest real eclipse peak, then score max(0, 100 − 12 × days from peak).",
      "formulaLatex": "Sky state = date + observer location + Sun/Moon/planet geometry",
      "inputs": [
        {
          "key": "year",
          "label": "Year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1900,
          "max": 2100,
          "step": 1,
          "help": null
        },
        {
          "key": "month",
          "label": "Month",
          "unit": null,
          "defaultValue": 8,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "day",
          "label": "Day",
          "unit": null,
          "defaultValue": 12,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "year": 2026,
        "month": 8,
        "day": 12
      },
      "outputLabel": "Eclipse window score",
      "outputUnit": "0 to 100",
      "assumptions": [
        "Uses Astronomy Engine global and local solar/lunar eclipse searches, not a lookup table.",
        "Reports the next and most recent real eclipse peak from today, in UTC.",
        "Local visibility uses real geometry (local solar eclipse search, Moon-altitude check for lunar eclipses), but does not calculate eclipse path width, magnitude contour maps, terrain/horizon obstruction or Saros series numbering.",
        "Use NASA or official astronomical ephemerides to confirm exact path, magnitude and safety guidance before making viewing plans."
      ],
      "workedExample": "A date on or very near a real engine eclipse peak receives a high score. A date many days away from the nearest engine eclipse receives an ordinary lunar-month result.",
      "keywords": [
        "eclipse calculator",
        "eclipse calculator formula",
        "online eclipse calculator",
        "sun/moon/astronomy calculator",
        "transparent calculator",
        "calculationtime",
        "eclipse",
        "calculator"
      ]
    },
    {
      "slug": "event-time-announcer",
      "name": "Event Time Announcer",
      "canonicalUrl": "https://www.calculationtime.com/calculators/event-time-announcer/",
      "category": "Date & Time",
      "status": "live",
      "description": "Turn an event time in one UTC offset into clear audience-local announcements, with UTC proof, backup offset and date-shift wording.",
      "directAnswer": "An event at 09:30 UTC+1 can be announced as 18:30 UTC+10 on the same day, with the UTC reference shown so international readers can verify it.",
      "formulaText": "Event UTC minutes = source local minutes - event UTC offset × 60. Audience minutes = event UTC minutes + audience UTC offset × 60.",
      "formulaLatex": "Event local time = UTC instant + viewer time-zone offset",
      "inputs": [
        {
          "key": "meetingHour",
          "label": "Event hour",
          "unit": "source 24h",
          "defaultValue": 9,
          "min": 0,
          "max": 23,
          "step": 1,
          "help": null
        },
        {
          "key": "meetingMinute",
          "label": "Event minute",
          "unit": null,
          "defaultValue": 30,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        },
        {
          "key": "sourceOffset",
          "label": "Event UTC offset",
          "unit": "hours",
          "defaultValue": 1,
          "min": -12,
          "max": 14,
          "step": 0.25,
          "help": null
        },
        {
          "key": "targetOffset",
          "label": "Audience UTC offset",
          "unit": "hours",
          "defaultValue": 10,
          "min": -12,
          "max": 14,
          "step": 0.25,
          "help": null
        },
        {
          "key": "extraOffset",
          "label": "Backup audience offset",
          "unit": "hours",
          "defaultValue": -5,
          "min": -12,
          "max": 14,
          "step": 0.25,
          "help": null
        }
      ],
      "defaultState": {
        "meetingHour": 9,
        "meetingMinute": 30,
        "sourceOffset": 1,
        "targetOffset": 10,
        "extraOffset": -5
      },
      "outputLabel": "Audience event time",
      "outputUnit": "local time and date shift",
      "assumptions": [
        "Offsets are entered manually as UTC offset hours, so the calculator does not look up cities, daylight-saving rules or historical timezone changes.",
        "Meeting time uses a 24-hour clock in the starting timezone.",
        "Target time is normalised to a 24-hour local clock and a previous-day, same-day or next-day note.",
        "For legal deadlines, travel bookings or daylight-saving changeover dates, confirm the official local timezone rule separately."
      ],
      "workedExample": "09:30 at UTC+1 is 08:30 UTC. For UTC+10 audiences, that is 18:30 on the same day.",
      "keywords": [
        "event time announcer",
        "event time announcer formula",
        "event time announcer calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "event",
        "time"
      ]
    },
    {
      "slug": "exponent-calculator",
      "name": "Exponent Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/exponent-calculator/",
      "category": "Core Mathematics",
      "status": "live",
      "description": "Raise a base to a power, include an optional multiplier and show reciprocal, square and cube checks for the same base.",
      "directAnswer": "2 raised to the 10th power equals 1,024. The calculator also keeps a multiplier, reciprocal check, square and cube visible for quick verification.",
      "formulaText": "Result = multiplier × base^exponent. A negative exponent means 1 ÷ base^|exponent| when the base is not zero.",
      "formulaLatex": "Power = base ^ exponent",
      "inputs": [
        {
          "key": "base",
          "label": "Base",
          "unit": null,
          "defaultValue": 2,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "The number being raised to a power."
        },
        {
          "key": "exponent",
          "label": "Exponent",
          "unit": null,
          "defaultValue": 10,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "The power applied to the base."
        },
        {
          "key": "multiplier",
          "label": "Optional multiplier",
          "unit": null,
          "defaultValue": 1,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Use 1 for a plain exponent result."
        }
      ],
      "defaultState": {
        "base": 2,
        "exponent": 10,
        "multiplier": 1
      },
      "outputLabel": "Power result",
      "outputUnit": "number",
      "assumptions": [
        "Inputs are treated as real numbers.",
        "Fractional exponents on negative bases may not have a real-number result in JavaScript arithmetic.",
        "The reciprocal is undefined when the result is zero.",
        "Large powers may round because browsers use floating-point numbers."
      ],
      "workedExample": "For base 2 and exponent 10, calculate 2^10 = 1,024. With multiplier 3, the result would be 3 × 1,024 = 3,072.",
      "keywords": [
        "exponent calculator",
        "exponent calculator formula",
        "online exponent calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "exponent",
        "calculator"
      ]
    },
    {
      "slug": "finance-calculator",
      "name": "Finance Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/finance-calculator/",
      "category": "Money and Finance",
      "status": "listed",
      "description": "Money and Finance preview: enter the core inputs and inspect the working",
      "directAnswer": "Money and Finance preview: enter the core inputs and inspect the working",
      "formulaText": "Payment = P r (1 + r)^n / ((1 + r)^n - 1)",
      "formulaLatex": "Payment = P r (1 + r)^{n} / ((1 + r)^{n} - 1)",
      "inputs": [],
      "defaultState": {},
      "outputLabel": null,
      "outputUnit": null,
      "assumptions": [],
      "workedExample": null,
      "keywords": [
        "finance calculator",
        "finance calculator formula",
        "online finance calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "finance",
        "calculator"
      ]
    },
    {
      "slug": "fraction-calculator",
      "name": "Fraction Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/fraction-calculator/",
      "category": "Percentage & Math",
      "status": "live",
      "description": "Add, subtract, multiply or divide two fractions, reduce to simplest form, and show the mixed number and decimal check.",
      "directAnswer": "Three quarters plus two fifths equals twenty-three twentieths, or 1 and 3/20. This fraction calculator converts the entered fractions into a common arithmetic result, reduces the answer with the greatest common divisor, and also shows the decimal value for checking.",
      "formulaText": "For addition/subtraction: a/b ± c/d = (ad ± bc) ÷ bd. For multiplication: a/b × c/d = ac ÷ bd. For division: a/b ÷ c/d = ad ÷ bc. Simplify by dividing numerator and denominator by their greatest common divisor.",
      "formulaLatex": "Equivalent ratio = a / b = c / d",
      "inputs": [
        {
          "key": "numeratorA",
          "label": "First numerator",
          "unit": null,
          "defaultValue": 3,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Top number of the first fraction."
        },
        {
          "key": "denominatorA",
          "label": "First denominator",
          "unit": null,
          "defaultValue": 4,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Bottom number. Use a non-zero whole number."
        },
        {
          "key": "operation",
          "label": "Operation",
          "unit": "add, subtract, multiply or divide",
          "defaultValue": 0,
          "min": 0,
          "max": 3,
          "step": 1,
          "help": "Choose the arithmetic operation with the buttons shown in the calculator."
        },
        {
          "key": "numeratorB",
          "label": "Second numerator",
          "unit": null,
          "defaultValue": 2,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Top number of the second fraction."
        },
        {
          "key": "denominatorB",
          "label": "Second denominator",
          "unit": null,
          "defaultValue": 5,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Bottom number of the second fraction. It must not be zero."
        }
      ],
      "defaultState": {
        "numeratorA": 3,
        "denominatorA": 4,
        "operation": 0,
        "numeratorB": 2,
        "denominatorB": 5
      },
      "outputLabel": "Fraction result",
      "outputUnit": "simplified fraction and decimal",
      "assumptions": [
        "Denominators are rounded to whole numbers and must not be zero.",
        "The operation selector uses add, subtract, multiply and divide buttons; internally these map to deterministic arithmetic modes.",
        "The calculator reduces the final fraction after the operation, not each intermediate display only.",
        "Division by a zero second fraction is undefined.",
        "Decimal output is a checking aid; the exact simplified fraction is the primary result."
      ],
      "workedExample": "For 3/4 + 2/5, use a common denominator: (3 × 5 + 2 × 4) ÷ (4 × 5) = (15 + 8) ÷ 20 = 23/20. As a mixed number, 23/20 is 1 and 3/20. As a decimal, it is 1.15.",
      "keywords": [
        "fraction calculator",
        "fraction calculator formula",
        "online fraction calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "fraction",
        "calculator"
      ]
    },
    {
      "slug": "future-value-calculator",
      "name": "Future Value Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/future-value-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Project what a starting amount and regular deposits could be worth in the future using an annual rate and compounding frequency.",
      "directAnswer": "Enter a starting amount, monthly contribution, time horizon, annual rate and compounding basis to project future value, cash contributed and estimated growth.",
      "formulaText": "Future value = starting amount × (1 + periodic rate)^periods + monthly contribution × (((1 + periodic rate)^months − 1) ÷ periodic rate). If the rate is 0, future value = starting amount + monthly contribution × months.",
      "formulaLatex": "FV = P(1 + r/n)^{nt} + contributions",
      "inputs": [
        {
          "key": "startingAmount",
          "label": "Starting amount",
          "unit": "currency",
          "defaultValue": 5000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Money invested or saved at the beginning of the period."
        },
        {
          "key": "monthlyContribution",
          "label": "Monthly contribution",
          "unit": "currency",
          "defaultValue": 250,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Regular end-of-month deposit. Use 0 for lump-sum-only projections."
        },
        {
          "key": "annualRate",
          "label": "Annual rate",
          "unit": "%",
          "defaultValue": 6,
          "min": 0,
          "max": 100,
          "step": 0.01,
          "help": "Nominal annual growth or interest rate used for the projection."
        },
        {
          "key": "years",
          "label": "Time horizon",
          "unit": "years",
          "defaultValue": 10,
          "min": 0,
          "max": null,
          "step": 0.25,
          "help": "How long the money is projected forward."
        },
        {
          "key": "compoundsPerYear",
          "label": "Compounding frequency",
          "unit": "times/year",
          "defaultValue": 12,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Use 12 for monthly, 4 for quarterly, 1 for annual compounding."
        }
      ],
      "defaultState": {
        "startingAmount": 5000,
        "monthlyContribution": 250,
        "annualRate": 6,
        "years": 10,
        "compoundsPerYear": 12
      },
      "outputLabel": "Future value",
      "outputUnit": "projected amount",
      "assumptions": [
        "The annual rate is a user-entered planning rate, not a guaranteed return.",
        "Monthly contributions are treated as equal end-of-month deposits.",
        "The compounding frequency controls the starting amount growth factor; monthly deposits are accumulated monthly.",
        "Taxes, fees, inflation, changing rates, missed deposits and investment risk are not included.",
        "This is transparent finance arithmetic only, not financial advice."
      ],
      "workedExample": "For a 5,000 starting amount, 250 end-of-month deposits, 10 years and 6% annual interest compounded monthly, the monthly rate is 0.06 ÷ 12 and there are 120 months. The starting amount grows to about 9,096.98 and the deposits grow to about 40,969.84, giving a future value of about 50,066.82.",
      "keywords": [
        "future value calculator",
        "future value calculator formula",
        "online future value calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "future",
        "value"
      ]
    },
    {
      "slug": "healthy-weight-calculator",
      "name": "Healthy Weight Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/healthy-weight-calculator/",
      "category": "Health & Fitness",
      "status": "planned",
      "description": "Estimate the common adult healthy-weight range for a height, with the Devine ideal-weight formula shown as context rather than a single target.",
      "directAnswer": "The healthy weight calculator reverses the adult BMI formula for BMI 18.5 to 24.9, then shows a Devine ideal-weight estimate beside that range for context.",
      "formulaText": "Healthy range low = 18.5 × height(m)^2. Healthy range high = 24.9 × height(m)^2. Devine IBW kg = 50 + 2.3 × inches over 5 ft for male formula, or 45.5 + 2.3 × inches over 5 ft for female formula.",
      "formulaLatex": "Healthy weight range = BMI range \\times height m^{2}",
      "inputs": [
        {
          "key": "heightCm",
          "label": "Height",
          "unit": "cm",
          "defaultValue": 178,
          "min": 100,
          "max": 250,
          "step": 0.1,
          "help": "Enter adult height first; the BMI range reverses from this value."
        },
        {
          "key": "sexCode",
          "label": "Devine comparison formula",
          "unit": null,
          "defaultValue": 1,
          "min": 1,
          "max": 2,
          "step": 1,
          "help": "Used only for the single-formula comparison line."
        }
      ],
      "defaultState": {
        "heightCm": 178,
        "sexCode": 1
      },
      "outputLabel": "Healthy-weight range",
      "outputUnit": "kg range plus Devine comparison",
      "assumptions": [
        "Adult screening formulas only.",
        "Body composition, ethnicity, age, pregnancy, athlete status and clinical needs are not captured.",
        "This is not a diagnosis or prescription."
      ],
      "workedExample": "At 178 cm, height is 1.78 m. The common adult BMI 18.5-24.9 range is about 58.6-78.9 kg. The male Devine comparison is about 73.2 kg.",
      "keywords": [
        "healthy weight calculator",
        "healthy weight calculator formula",
        "online healthy weight calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "healthy",
        "weight"
      ]
    },
    {
      "slug": "house-affordability-calculator",
      "name": "House Affordability Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/house-affordability-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "House Affordability Calculator estimates the home price supported by income, existing debts, down payment, target DTI, rate and ownership costs.",
      "directAnswer": "House Affordability Calculator starts with income, existing debt and down payment, then backs into the home price that fits the selected DTI limits.",
      "formulaText": "Monthly income = annual income ÷ 12. Allowed housing payment is the lower of housing-DTI cap and total-DTI cap after other debts. Maximum loan is the present value of the allowed principal-and-interest payment.",
      "formulaLatex": "Maximum home price = affordable monthly payment / payment factor",
      "inputs": [
        {
          "key": "annualIncome",
          "label": "Annual household income",
          "unit": "currency",
          "defaultValue": 95000,
          "min": 0,
          "max": null,
          "step": 1000,
          "help": "Gross annual income used for affordability caps."
        },
        {
          "key": "monthlyDebt",
          "label": "Other monthly debt",
          "unit": "currency",
          "defaultValue": 550,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Existing debt payments such as car, card, student loan or personal loan repayments."
        },
        {
          "key": "downPayment",
          "label": "Available down payment",
          "unit": "currency",
          "defaultValue": 80000,
          "min": 0,
          "max": null,
          "step": 1000,
          "help": "Cash available toward the purchase price."
        },
        {
          "key": "housingDtiPercent",
          "label": "Housing DTI target",
          "unit": "percent",
          "defaultValue": 28,
          "min": 1,
          "max": null,
          "step": 0.5,
          "help": "Maximum share of gross monthly income for housing costs."
        },
        {
          "key": "totalDtiPercent",
          "label": "Total debt DTI target",
          "unit": "percent",
          "defaultValue": 36,
          "min": 1,
          "max": null,
          "step": 0.5,
          "help": "Maximum share of gross monthly income for housing plus other debts."
        },
        {
          "key": "annualRate",
          "label": "Mortgage rate",
          "unit": "percent",
          "defaultValue": 6.5,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Fixed annual mortgage rate."
        },
        {
          "key": "termYears",
          "label": "Loan term",
          "unit": "years",
          "defaultValue": 30,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Mortgage repayment term."
        },
        {
          "key": "monthlyTaxesInsurance",
          "label": "Taxes and insurance",
          "unit": "monthly currency",
          "defaultValue": 650,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Estimated monthly property tax, insurance, HOA/strata or ownership costs before maintenance."
        }
      ],
      "defaultState": {
        "annualIncome": 95000,
        "monthlyDebt": 550,
        "downPayment": 80000,
        "housingDtiPercent": 28,
        "totalDtiPercent": 36,
        "annualRate": 6.5,
        "termYears": 30,
        "monthlyTaxesInsurance": 650
      },
      "outputLabel": "Affordable home price",
      "outputUnit": "currency",
      "assumptions": [
        "Uses gross income and user-entered DTI limits.",
        "Taxes and insurance are simple monthly deductions before calculating principal and interest capacity.",
        "No lender approval, credit score, mortgage insurance, closing costs, reserves or local rules are modelled.",
        "This is planning arithmetic only."
      ],
      "workedExample": "With 95,000 annual income, 550 monthly debt, 80,000 down, 28% housing DTI and 36% total DTI, the calculator finds the lower monthly cap, subtracts taxes/insurance, then converts the remaining payment into a maximum loan.",
      "keywords": [
        "house affordability calculator",
        "house affordability calculator formula",
        "online house affordability calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "house",
        "affordability"
      ]
    },
    {
      "slug": "ideal-body-weight-calculator",
      "name": "Ideal Body Weight Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/ideal-body-weight-calculator/",
      "category": "Health & Fitness",
      "status": "planned",
      "description": "Estimate the Devine ideal body weight formula as one adult IBW method, with BMI-range cross-checks.",
      "directAnswer": "The ideal body weight calculator converts height to inches over five feet, applies the Devine IBW formula as one estimation method, and cross-checks the result against the BMI 18.5-24.9 range.",
      "formulaText": "Devine IBW kg = 50 + 2.3 × inches over 5 ft for male formula, or 45.5 + 2.3 × inches over 5 ft for female formula.",
      "formulaLatex": "Ideal weight = base weight + height adjustment",
      "inputs": [
        {
          "key": "sexCode",
          "label": "Formula sex",
          "unit": null,
          "defaultValue": 1,
          "min": 1,
          "max": 2,
          "step": 1,
          "help": null
        },
        {
          "key": "heightCm",
          "label": "Height",
          "unit": "cm",
          "defaultValue": 178,
          "min": 100,
          "max": null,
          "step": 0.1,
          "help": null
        }
      ],
      "defaultState": {
        "sexCode": 1,
        "heightCm": 178
      },
      "outputLabel": "Ideal body weight",
      "outputUnit": "kg estimate with healthy BMI range",
      "assumptions": [
        "Adult screening formula only.",
        "The Devine result is one of several IBW estimation methods, not a single medically correct answer.",
        "Body composition, ethnicity, age, pregnancy, athlete status and clinical needs are not captured.",
        "This is not a diagnosis or prescription."
      ],
      "workedExample": "A 178 cm adult is about 10.1 inches over 5 ft. Male Devine IBW is 50 + 2.3×10.1 = about 73.2 kg.",
      "keywords": [
        "ideal weight calculator",
        "ideal weight calculator formula",
        "online ideal weight calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "ideal",
        "weight"
      ]
    },
    {
      "slug": "inflation-calculator",
      "name": "Inflation Projection Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/inflation-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Project how a user-entered average inflation rate changes purchasing power, future cost and real value over time.",
      "directAnswer": "An inflation projection calculator compounds a user-entered average inflation rate over time. This page shows the future price needed to match today’s amount, the purchasing power left, the real change after an optional nominal return and a printable budget, pay-review or classroom record.",
      "formulaText": "Inflation factor = (1 + annual inflation rate ÷ 100)^years. Future cost = starting amount × inflation factor. Purchasing power of the starting amount after inflation = starting amount ÷ inflation factor. Optional nominal future value = starting amount × (1 + nominal return ÷ 100)^years; real value = nominal future value ÷ inflation factor.",
      "formulaLatex": "Projected value = value \\\\times (1 + rate)^years",
      "inputs": [
        {
          "key": "amount",
          "label": "Starting amount",
          "unit": "$",
          "defaultValue": 1000,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Enter the price, budget, salary line or savings amount you want to compare."
        },
        {
          "key": "annualInflationRate",
          "label": "Average annual inflation rate",
          "unit": "%",
          "defaultValue": 3,
          "min": -50,
          "max": null,
          "step": 0.1,
          "help": "Use a scenario rate, historical average or official CPI-based estimate. The calculator compounds it once per year."
        },
        {
          "key": "years",
          "label": "Years",
          "unit": "years",
          "defaultValue": 10,
          "min": 0,
          "max": null,
          "step": 0.25,
          "help": "Enter the number of years between the starting amount and the comparison date."
        },
        {
          "key": "comparisonReturnRate",
          "label": "Optional nominal return or pay raise",
          "unit": "%/year",
          "defaultValue": 0,
          "min": -50,
          "max": null,
          "step": 0.1,
          "help": "Optional comparison line for savings growth, investment return or pay rises before inflation."
        },
        {
          "key": "roundingIncrement",
          "label": "Rounding increment",
          "unit": "$",
          "defaultValue": 1,
          "min": 0.01,
          "max": null,
          "step": 0.01,
          "help": "Use 1 for budget notes or 0.01 for cents."
        }
      ],
      "defaultState": {
        "amount": 1000,
        "annualInflationRate": 3,
        "years": 10,
        "comparisonReturnRate": 0,
        "roundingIncrement": 1
      },
      "outputLabel": "Projected inflation-adjusted amount",
      "outputUnit": "future cost, purchasing-power loss and real-value comparison",
      "assumptions": [
        "The inflation rate is an average annual scenario rate compounded once per year.",
        "The calculator does not fetch live CPI data or choose a country automatically; use an official CPI series when a formal historical comparison is required.",
        "Negative inflation rates are allowed for deflation scenarios, but very large negative rates can produce unrealistic long-term examples.",
        "The optional nominal return line is before inflation and before tax, fees, risk, wage deductions or investment volatility.",
        "This is education and planning arithmetic, not financial advice, wage advice, tax advice or an official CPI adjustment."
      ],
      "workedExample": "For $1,000 over 10 years at 3% average annual inflation, factor = 1.03^10 = 1.3439. A similar basket would cost about $1,343.92. The original $1,000 would have about $744.09 of today-style purchasing power after that inflation scenario.",
      "keywords": [
        "inflation projection calculator",
        "inflation calculator",
        "inflation calculator formula",
        "online inflation calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "inflation",
        "calculator"
      ]
    },
    {
      "slug": "interest-calculator",
      "name": "Interest Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/interest-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Calculate simple interest, total amount and fee load from principal, annual rate, time and optional fixed charges.",
      "directAnswer": "Enter principal, annual simple interest rate, years and optional fees to see the interest amount, total amount and visible fee/interest load.",
      "formulaText": "Simple interest = principal × annual rate × time. Use the annual rate as a decimal, so 6% becomes 0.06. Total amount = principal + simple interest + optional fixed fees.",
      "formulaLatex": "Interest = principal \\times rate \\times time",
      "inputs": [
        {
          "key": "principal",
          "label": "Principal amount",
          "unit": null,
          "defaultValue": 1000,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "The starting balance, loan amount or deposit being checked."
        },
        {
          "key": "annualRate",
          "label": "Annual simple interest rate",
          "unit": "percent",
          "defaultValue": 6,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Enter the nominal yearly rate as a percentage."
        },
        {
          "key": "years",
          "label": "Time",
          "unit": "years",
          "defaultValue": 3,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Use decimal years for partial periods, such as 0.5 for six months."
        },
        {
          "key": "extraFees",
          "label": "Extra fees or charges",
          "unit": "optional",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Optional fixed fees to keep separate from the interest formula."
        }
      ],
      "defaultState": {
        "principal": 1000,
        "annualRate": 6,
        "years": 3,
        "extraFees": 0
      },
      "outputLabel": "Simple interest",
      "outputUnit": "currency amount",
      "assumptions": [
        "Interest is calculated only on the original principal, not on accumulated interest.",
        "The annual rate is entered as a percentage and converted to a decimal inside the formula.",
        "Time is entered in years; partial periods can be entered as decimals when that matches the agreement being checked.",
        "Fees are kept separate from interest so the printed report does not hide charges inside the rate.",
        "This is arithmetic for planning and checking. It is not financial, tax, lending or legal advice."
      ],
      "workedExample": "Principal 1,000 × 0.06 annual rate × 3 years = 180 simple interest. Add the principal back: 1,000 + 180 = 1,180 before any optional fixed fees.",
      "keywords": [
        "interest calculator",
        "interest calculator formula",
        "online interest calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "interest",
        "calculator"
      ]
    },
    {
      "slug": "international-meeting-planner",
      "name": "International Meeting Planner",
      "canonicalUrl": "https://www.calculationtime.com/calculators/international-meeting-planner/",
      "category": "Date & Time",
      "status": "live",
      "description": "Plan a meeting across manual UTC offsets, including host time, participant local time, target end time and a backup participant clock.",
      "directAnswer": "09:30 hosted at UTC+1 appears as 18:30 at UTC+10 and 03:30 at UTC-5. A 60-minute meeting ends around 19:30 for the UTC+10 participant.",
      "formulaText": "Convert host time to UTC, add each participant UTC offset, then add the duration to show the target end time.",
      "formulaLatex": "Local time = UTC instant + zone offset",
      "inputs": [
        {
          "key": "meetingHour",
          "label": "Meeting hour",
          "unit": "source 24h",
          "defaultValue": 9,
          "min": 0,
          "max": 23,
          "step": 1,
          "help": null
        },
        {
          "key": "meetingMinute",
          "label": "Meeting minute",
          "unit": null,
          "defaultValue": 30,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        },
        {
          "key": "sourceOffset",
          "label": "Host UTC offset",
          "unit": "hours",
          "defaultValue": 1,
          "min": -12,
          "max": 14,
          "step": 0.25,
          "help": null
        },
        {
          "key": "targetOffset",
          "label": "Participant UTC offset",
          "unit": "hours",
          "defaultValue": 10,
          "min": -12,
          "max": 14,
          "step": 0.25,
          "help": null
        },
        {
          "key": "durationMinutes",
          "label": "Meeting duration",
          "unit": "minutes",
          "defaultValue": 60,
          "min": 0,
          "max": null,
          "step": 5,
          "help": null
        },
        {
          "key": "extraOffset",
          "label": "Second participant offset",
          "unit": "hours",
          "defaultValue": -5,
          "min": -12,
          "max": 14,
          "step": 0.25,
          "help": null
        }
      ],
      "defaultState": {
        "meetingHour": 9,
        "meetingMinute": 30,
        "sourceOffset": 1,
        "targetOffset": 10,
        "durationMinutes": 60,
        "extraOffset": -5
      },
      "outputLabel": "Participant time",
      "outputUnit": "local time and date shift",
      "assumptions": [
        "Offsets are entered manually as UTC offset hours, so the calculator does not look up cities, daylight-saving rules or historical timezone changes.",
        "Meeting time uses a 24-hour clock in the starting timezone.",
        "Target time is normalised to a 24-hour local clock and a previous-day, same-day or next-day note.",
        "For legal deadlines, travel bookings or daylight-saving changeover dates, confirm the official local timezone rule separately."
      ],
      "workedExample": "09:30 at UTC+1 is 08:30 UTC. At UTC+10 the meeting starts 18:30 and a 60-minute meeting ends 19:30.",
      "keywords": [
        "international meeting planner",
        "international meeting planner formula",
        "international meeting planner calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "international",
        "meeting"
      ]
    },
    {
      "slug": "investment-calculator",
      "name": "Investment Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/investment-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Project an investment balance from starting amount, monthly contributions, annual rate, time horizon and compounding frequency.",
      "directAnswer": "Enter starting capital, monthly contributions, rate, years and compounding frequency to see projected future value, cash contributed and growth estimate.",
      "formulaText": "Future value = starting amount × (1 + periodic rate)^periods + monthly contribution × (((1 + periodic rate)^months − 1) ÷ periodic rate). If the rate is 0, future value = starting amount + monthly contribution × months.",
      "formulaLatex": "FV = P(1 + r/n)^{nt} + contributions",
      "inputs": [
        {
          "key": "startingAmount",
          "label": "Starting amount",
          "unit": "currency",
          "defaultValue": 5000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Money invested or saved at the beginning of the period."
        },
        {
          "key": "monthlyContribution",
          "label": "Monthly contribution",
          "unit": "currency",
          "defaultValue": 250,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Regular end-of-month deposit. Use 0 for lump-sum-only projections."
        },
        {
          "key": "annualRate",
          "label": "Annual rate",
          "unit": "%",
          "defaultValue": 6,
          "min": 0,
          "max": 100,
          "step": 0.01,
          "help": "Nominal annual growth or interest rate used for the projection."
        },
        {
          "key": "years",
          "label": "Time horizon",
          "unit": "years",
          "defaultValue": 10,
          "min": 0,
          "max": null,
          "step": 0.25,
          "help": "How long the money is projected forward."
        },
        {
          "key": "compoundsPerYear",
          "label": "Compounding frequency",
          "unit": "times/year",
          "defaultValue": 12,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Use 12 for monthly, 4 for quarterly, 1 for annual compounding."
        }
      ],
      "defaultState": {
        "startingAmount": 5000,
        "monthlyContribution": 250,
        "annualRate": 6,
        "years": 10,
        "compoundsPerYear": 12
      },
      "outputLabel": "Future value",
      "outputUnit": "projected amount",
      "assumptions": [
        "The annual rate is a user-entered planning rate, not a guaranteed return.",
        "Monthly contributions are treated as equal end-of-month deposits.",
        "The compounding frequency controls the starting amount growth factor; monthly deposits are accumulated monthly.",
        "Taxes, fees, inflation, changing rates, missed deposits and investment risk are not included.",
        "This is transparent finance arithmetic only, not financial advice."
      ],
      "workedExample": "For a 5,000 starting amount, 250 monthly deposits, 10 years and 6% annual interest compounded monthly, the monthly rate is 0.06 ÷ 12 and there are 120 months. The starting amount grows to about 9,096.98 and the deposits grow to about 44,637.45, giving a future value of about 53,734.43.",
      "keywords": [
        "investment calculator",
        "investment calculator formula",
        "online investment calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "investment",
        "calculator"
      ]
    },
    {
      "slug": "irr-calculator",
      "name": "IRR Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/irr-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Estimate internal rate of return from an initial outflow, annual cash flows and terminal value using a transparent NPV zero-crossing method.",
      "directAnswer": "Enter an initial outflow plus yearly cash flows to estimate the annual discount rate that makes net present value approximately zero.",
      "formulaText": "IRR is the rate r where NPV = cash flow 0 + cash flow 1 ÷ (1+r)^1 + cash flow 2 ÷ (1+r)^2 + ... = 0. This calculator uses a bounded numeric search from -99.99% to 1,000%.",
      "formulaLatex": "NPV = sum(Ct / (1 + r)^t) = 0",
      "inputs": [
        {
          "key": "initialOutflow",
          "label": "Initial outflow",
          "unit": "currency",
          "defaultValue": 1000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Cash paid at the start of the project or investment."
        },
        {
          "key": "cashFlowYear1",
          "label": "Year 1 cash flow",
          "unit": "currency",
          "defaultValue": 250,
          "min": null,
          "max": null,
          "step": 50,
          "help": "Net cash inflow or outflow at the end of year 1."
        },
        {
          "key": "cashFlowYear2",
          "label": "Year 2 cash flow",
          "unit": "currency",
          "defaultValue": 300,
          "min": null,
          "max": null,
          "step": 50,
          "help": "Net cash inflow or outflow at the end of year 2."
        },
        {
          "key": "cashFlowYear3",
          "label": "Year 3 cash flow",
          "unit": "currency",
          "defaultValue": 350,
          "min": null,
          "max": null,
          "step": 50,
          "help": "Net cash inflow or outflow at the end of year 3."
        },
        {
          "key": "cashFlowYear4",
          "label": "Year 4 cash flow",
          "unit": "currency",
          "defaultValue": 400,
          "min": null,
          "max": null,
          "step": 50,
          "help": "Net cash inflow or outflow at the end of year 4."
        },
        {
          "key": "terminalValue",
          "label": "Terminal value / sale proceeds",
          "unit": "currency",
          "defaultValue": 600,
          "min": null,
          "max": null,
          "step": 50,
          "help": "Final sale value or closing cash flow at the end of the final period."
        }
      ],
      "defaultState": {
        "initialOutflow": 1000,
        "cashFlowYear1": 250,
        "cashFlowYear2": 300,
        "cashFlowYear3": 350,
        "cashFlowYear4": 400,
        "terminalValue": 600
      },
      "outputLabel": "Internal rate of return",
      "outputUnit": "annual IRR estimate",
      "assumptions": [
        "Cash flows are treated as annual end-of-period values after the initial outflow.",
        "The initial outflow is entered as a positive number and converted to a negative cash flow internally.",
        "The result is a numeric estimate and may not exist as a single value for unusual cash-flow patterns.",
        "Taxes, inflation, financing costs, reinvestment assumptions and risk are not included.",
        "This is project-comparison arithmetic only, not investment advice."
      ],
      "workedExample": "With a 1,000 initial outflow and cash flows of 250, 300, 350, 400 and 600, the calculator searches for the discount rate that makes NPV approximately zero and reports that annual IRR.",
      "keywords": [
        "irr calculator",
        "irr calculator formula",
        "online irr calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "irr",
        "calculator"
      ]
    },
    {
      "slug": "land-area-converter",
      "name": "Land Area Converter",
      "canonicalUrl": "https://www.calculationtime.com/calculators/land-area-converter/",
      "category": "Measurement & Unit Conversion",
      "status": "live",
      "description": "Convert acres, hectares, square feet and square metres in one bidirectional land-area tool with exact international-foot and metric factors plus printable proof.",
      "directAnswer": "A Land Area Converter is the survivor page for closely related acre, hectare, square-foot and square-metre conversions, replacing one-direction land-area micro-routes with one reversible tool.",
      "formulaText": "Convert the source unit to square metres first, then convert square metres to the target unit. Acres = square metres / 4046.8564224. Hectares = square metres / 10000. Square feet = square metres / 0.09290304.",
      "formulaLatex": "m^2 = value \\times sourceFactor; result = m^2 \\div targetFactor",
      "inputs": [
        {
          "key": "value",
          "label": "Area value",
          "unit": null,
          "defaultValue": 1,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Enter the land or floor area value from the plan, deed, worksheet, quote or listing."
        },
        {
          "key": "fromUnitCode",
          "label": "From area unit",
          "unit": null,
          "defaultValue": 19,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 19 acres, 20 hectares, 21 square feet or 22 square metres."
        },
        {
          "key": "toUnitCode",
          "label": "To area unit",
          "unit": null,
          "defaultValue": 20,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 19 acres, 20 hectares, 21 square feet or 22 square metres."
        }
      ],
      "defaultState": {
        "value": 1,
        "fromUnitCode": 19,
        "toUnitCode": 20
      },
      "outputLabel": "Converted area",
      "outputUnit": "selected area unit",
      "assumptions": [
        "The converter treats all inputs as flat area measurements, not parcel boundaries, slope-corrected surface areas or legal survey replacements.",
        "One hectare is 10,000 square metres.",
        "One acre is 43,560 square feet, which equals 4,046.8564224 square metres using the international foot.",
        "One square foot is exactly 0.09290304 square metres."
      ],
      "workedExample": "For 1 acre to hectares: 1 acre = 4,046.8564224 sq m, and hectares = 4,046.8564224 / 10,000 = 0.40468564224 ha. The same area is 43,560 sq ft.",
      "keywords": [
        "land area converter",
        "acres hectares square feet square metres converter",
        "area conversion calculator",
        "transparent calculator",
        "calculationtime"
      ]
    },
    {
      "slug": "lean-body-mass-calculator",
      "name": "Lean Body Mass Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/lean-body-mass-calculator/",
      "category": "Health & Fitness",
      "status": "live",
      "description": "Lean Body Mass Calculator estimates lean mass, fat mass and lean BMI from body weight, body-fat percentage and height.",
      "directAnswer": "Lean Body Mass Calculator converts body weight and body-fat percentage into lean mass, fat mass and a lean-BMI cross-check.",
      "formulaText": "Lean body mass = body weight x (1 - body fat percentage). Fat mass = body weight - lean body mass.",
      "formulaLatex": "Lean body mass = body weight \\times (1 - body fat \\% / 100)",
      "inputs": [
        {
          "key": "weightKg",
          "label": "Body weight",
          "unit": "kg",
          "defaultValue": 80,
          "min": 0,
          "max": null,
          "step": 0.5,
          "help": "Current body weight."
        },
        {
          "key": "bodyFatPercent",
          "label": "Body fat",
          "unit": "percent",
          "defaultValue": 22,
          "min": 0,
          "max": 75,
          "step": 0.1,
          "help": "Estimated body-fat percentage."
        },
        {
          "key": "heightCm",
          "label": "Height",
          "unit": "cm",
          "defaultValue": 178,
          "min": 0,
          "max": null,
          "step": 0.5,
          "help": "Used for lean BMI cross-check."
        }
      ],
      "defaultState": {
        "weightKg": 80,
        "bodyFatPercent": 22,
        "heightCm": 178
      },
      "outputLabel": "Estimated lean body mass",
      "outputUnit": "kg",
      "assumptions": [
        "Body-fat percentage is assumed to be already estimated.",
        "Hydration and measurement methods affect the result.",
        "Not a medical diagnostic tool."
      ],
      "workedExample": "80 kg at 22% body fat gives 62.4 kg lean mass and 17.6 kg fat mass.",
      "keywords": [
        "lean body mass calculator",
        "lean body mass calculator formula",
        "online lean body mass calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "lean",
        "body"
      ]
    },
    {
      "slug": "lease-amortization-calculator",
      "name": "Lease Amortization Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/lease-amortization-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Estimate a lease liability, right-of-use asset basis and first-period amortization from fixed payments and discount rate.",
      "directAnswer": "A lease amortization calculator discounts unpaid fixed lease payments to estimate the initial lease liability, then shows right-of-use asset basis and first-period interest. Payments made at commencement are kept separate so the liability and asset basis are not mixed.",
      "formulaText": "Monthly rate = annual discount rate ÷ 12. Liability payment count = lease term months − payments made at commencement. Lease liability = payment × (1 − (1 + monthly rate)^−n) ÷ monthly rate, or payment × n if the rate is 0. ROU asset basis = liability + commencement payments + initial direct costs − incentives.",
      "formulaLatex": "Lease liability = sum(lease payment_t / (1 + discount rate)^{t})",
      "inputs": [
        {
          "key": "monthlyPayment",
          "label": "Lease payment",
          "unit": "$/month",
          "defaultValue": 2500,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Enter the fixed recurring lease payment."
        },
        {
          "key": "annualDiscountRate",
          "label": "Discount rate",
          "unit": "%/year",
          "defaultValue": 6,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Use the incremental borrowing rate or rate implicit in the lease when known."
        },
        {
          "key": "leaseTermMonths",
          "label": "Lease term",
          "unit": "months",
          "defaultValue": 60,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Enter the remaining lease term in monthly payment periods."
        },
        {
          "key": "paymentsInAdvance",
          "label": "Payments made at commencement",
          "unit": "payments",
          "defaultValue": 1,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Use 1 when the first payment is made at commencement and not included in the liability PV."
        },
        {
          "key": "initialDirectCosts",
          "label": "Initial direct costs",
          "unit": "$",
          "defaultValue": 1000,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Optional costs added to the right-of-use asset basis."
        },
        {
          "key": "leaseIncentives",
          "label": "Lease incentives received",
          "unit": "$",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Optional incentives that reduce the right-of-use asset basis."
        }
      ],
      "defaultState": {
        "monthlyPayment": 2500,
        "annualDiscountRate": 6,
        "leaseTermMonths": 60,
        "paymentsInAdvance": 1,
        "initialDirectCosts": 1000,
        "leaseIncentives": 0
      },
      "outputLabel": "Initial lease liability",
      "outputUnit": "present value with first-month interest and ROU asset basis",
      "assumptions": [
        "This is a planning calculator, not accounting advice under IFRS 16, ASC 842 or local GAAP.",
        "Only fixed monthly lease payments are modelled; variable lease payments, residual guarantees and purchase options are not included.",
        "Payments made at commencement are excluded from the liability PV but included in the right-of-use asset basis.",
        "The discount rate is treated as a nominal annual rate converted to monthly periods.",
        "Tax, disclosure, remeasurement, impairment, foreign exchange and classification rules are outside the calculator."
      ],
      "workedExample": "For $2,500 monthly payments over 60 months at a 6% annual discount rate with one payment made at commencement, the unpaid-payment count is 59. Monthly rate is 0.5%, so the liability is about the present value of 59 remaining payments.",
      "keywords": [
        "lease amortization calculator",
        "lease amortization calculator formula",
        "online lease amortization calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "lease",
        "amortization"
      ]
    },
    {
      "slug": "length-converter",
      "name": "Length Converter",
      "canonicalUrl": "https://www.calculationtime.com/calculators/length-converter/",
      "category": "Measurement & Unit Conversion",
      "status": "live",
      "description": "Convert millimetres, centimetres, metres, inches, feet, yards, kilometres and miles in one bidirectional length tool with the exact unit basis visible.",
      "directAnswer": "A length converter is a better destination than separate one-direction pages for every unit pair. Enter a length once, choose the source and target units, and keep millimetres, centimetres, metres, inches, feet, yards, kilometres and miles on one auditable conversion record.",
      "formulaText": "Convert the source length to metres, then convert metres to the target unit. Exact bases include 1 millimetre = 0.001 m, 1 inch = 0.0254 m, 1 foot = 0.3048 m, 1 yard = 0.9144 m, 1 centimetre = 0.01 m, 1 kilometre = 1000 m and 1 mile = 1609.344 m.",
      "formulaLatex": "Target = value \\\\times source metres factor \\\\div target metres factor",
      "inputs": [
        {
          "key": "value",
          "label": "Length value",
          "unit": null,
          "defaultValue": 180,
          "min": 0,
          "max": null,
          "step": 0.001,
          "help": "Enter the length in the selected source unit."
        },
        {
          "key": "fromUnitCode",
          "label": "From length unit",
          "unit": null,
          "defaultValue": 3,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 1 ft, 2 in, 3 cm, 4 m, 5 km, 6 miles, 16 yards or 35 mm."
        },
        {
          "key": "toUnitCode",
          "label": "To length unit",
          "unit": null,
          "defaultValue": 1,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 1 ft, 2 in, 3 cm, 4 m, 5 km, 6 miles, 16 yards or 35 mm."
        }
      ],
      "defaultState": {
        "value": 180,
        "fromUnitCode": 3,
        "toUnitCode": 1
      },
      "outputLabel": "Converted length",
      "outputUnit": "selected length unit",
      "assumptions": [
        "Only length units are accepted; mass, volume and temperature belong in their own converter families.",
        "The international inch, foot, yard and mile relationships are used for everyday conversion arithmetic.",
        "Rounding is for display only. Preserve the source value, source unit and target unit when a result is used in a quote, worksheet, drawing or product note.",
        "This is unit conversion arithmetic, not a tolerance, fit, surveying, medical, engineering or compliance decision."
      ],
      "workedExample": "For 180 cm to feet: 180 cm × 0.01 = 1.8 m. Then 1.8 ÷ 0.3048 = 5.9055 ft. The same record can be changed to millimetres, inches, yards, kilometres or miles without leaving the page.",
      "keywords": [
        "length converter",
        "length converter calculator",
        "millimetres centimetres metres inches feet yards miles converter",
        "measurement converter",
        "transparent calculator",
        "calculationtime"
      ]
    },
    {
      "slug": "loan-calculator",
      "name": "Loan Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/loan-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Calculate an estimated fixed loan payment from amount, APR and term, with total interest and a scenario comparison.",
      "directAnswer": "A fixed-payment loan calculator applies the standard amortization formula to the financed balance, monthly rate and number of monthly payments. This page keeps payment, total paid, total interest, APR, term, fees, deposit and an extra-payment comparison visible for printable quote checks and classroom finance records.",
      "formulaText": "Financed balance = max(0, loan amount + upfront financed fee − down payment). Monthly rate = APR ÷ 100 ÷ 12. Number of payments = term years × 12. Fixed payment = P × r ÷ (1 − (1 + r)^−n). If APR is 0, payment = P ÷ n. Total interest = payment × n − P.",
      "formulaLatex": "Payment = P r (1 + r)^{n} / ((1 + r)^{n} - 1)",
      "inputs": [
        {
          "key": "loanAmount",
          "label": "Loan amount",
          "unit": "$",
          "defaultValue": 25000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Enter the amount actually borrowed before optional fees or deposits."
        },
        {
          "key": "annualRate",
          "label": "Annual interest rate",
          "unit": "% APR",
          "defaultValue": 7.5,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Use the nominal annual percentage rate for a fixed-rate estimate."
        },
        {
          "key": "termYears",
          "label": "Loan term",
          "unit": "years",
          "defaultValue": 5,
          "min": 0.083333,
          "max": null,
          "step": 0.25,
          "help": "Enter the repayment term in years. Five years equals 60 monthly payments."
        },
        {
          "key": "upfrontFee",
          "label": "Upfront financed fee",
          "unit": "$",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Optional fee added to the financed balance if it is rolled into the loan."
        },
        {
          "key": "downPayment",
          "label": "Deposit or down payment",
          "unit": "$",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Optional amount paid upfront and subtracted before the payment is calculated."
        },
        {
          "key": "extraMonthlyPayment",
          "label": "Extra monthly payment",
          "unit": "$",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Optional extra payment for a simple payoff comparison; exact lender amortization may differ."
        }
      ],
      "defaultState": {
        "loanAmount": 25000,
        "annualRate": 7.5,
        "termYears": 5,
        "upfrontFee": 0,
        "downPayment": 0,
        "extraMonthlyPayment": 0
      },
      "outputLabel": "Monthly payment",
      "outputUnit": "estimated monthly payment with total interest and payoff comparison",
      "assumptions": [
        "The calculator estimates a fixed-rate, fully amortizing loan with equal monthly payments.",
        "APR is treated as a nominal annual rate divided into monthly periods; lender APR disclosures, fees, compounding rules and daily interest methods may differ.",
        "Upfront financed fees increase the balance only when they are rolled into the loan; a cash fee should not be entered there.",
        "The down payment is subtracted before payment calculation and is not included in total interest.",
        "Extra monthly payment is a planning comparison, not a formal payoff schedule; confirm prepayment rules, fees and exact balances with the lender."
      ],
      "workedExample": "For a $25,000 loan at 7.5% APR over 5 years, monthly rate = 0.075 ÷ 12 = 0.00625 and n = 60. The fixed-payment formula gives about $500.95 per month, with about $30,056.93 total paid and $5,056.93 interest before any fees or extra payments.",
      "keywords": [
        "loan calculator",
        "loan calculator formula",
        "online loan calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "loan",
        "calculator"
      ]
    },
    {
      "slug": "logarithm-calculator",
      "name": "Logarithm Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/logarithm-calculator/",
      "category": "Core Mathematics",
      "status": "live",
      "description": "Calculate a logarithm in any positive base, with natural-log and common-log cross-checks shown beside the result.",
      "directAnswer": "log base 10 of 1,000 is 3 because 10^3 = 1,000. The page also shows natural-log and common-log cross-checks.",
      "formulaText": "log_base(value) = ln(value) ÷ ln(base). The value must be positive and the base must be positive and not equal to 1.",
      "formulaLatex": "log_b(x) = y where b^y = x",
      "inputs": [
        {
          "key": "value",
          "label": "Value",
          "unit": null,
          "defaultValue": 1000,
          "min": 0.000001,
          "max": null,
          "step": 0.01,
          "help": "The positive number inside the logarithm."
        },
        {
          "key": "base",
          "label": "Base",
          "unit": null,
          "defaultValue": 10,
          "min": 0.000001,
          "max": null,
          "step": 0.01,
          "help": "Use 10 for common log, e for natural log approximation, or any positive base except 1."
        }
      ],
      "defaultState": {
        "value": 1000,
        "base": 10
      },
      "outputLabel": "Log result",
      "outputUnit": "exponent",
      "assumptions": [
        "The input value must be greater than zero.",
        "The base must be greater than zero and not equal to 1.",
        "Results use browser floating-point precision.",
        "This page calculates numeric logs, not log-scale charts or statistical transformations."
      ],
      "workedExample": "For value 1,000 and base 10, log10(1,000) = 3 because 10 × 10 × 10 = 1,000.",
      "keywords": [
        "logarithm calculator",
        "logarithm calculator formula",
        "online logarithm calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "logarithm",
        "calculator"
      ]
    },
    {
      "slug": "macro-calculator",
      "name": "Macro Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/macro-calculator/",
      "category": "Health & Fitness",
      "status": "planned",
      "description": "Split a daily calorie target into protein, fat and carbohydrate grams using body weight and selected macro percentages.",
      "directAnswer": "The macro calculator sets protein from body weight, assigns fat from calorie percentage, and gives remaining calories to carbohydrate.",
      "formulaText": "Protein grams = body weight × g/kg. Protein calories = protein grams × 4. Fat calories = total calories × fat %. Fat grams = fat calories ÷ 9. Carbohydrate grams = remaining calories ÷ 4.",
      "formulaLatex": "Calories = protein \\\\times 4 + carbs \\\\times 4 + fat \\\\times 9",
      "inputs": [
        {
          "key": "calories",
          "label": "Daily calories",
          "unit": "kcal",
          "defaultValue": 2200,
          "min": 0,
          "max": null,
          "step": 10,
          "help": null
        },
        {
          "key": "bodyWeightKg",
          "label": "Body weight",
          "unit": "kg",
          "defaultValue": 80,
          "min": 1,
          "max": null,
          "step": 0.1,
          "help": null
        },
        {
          "key": "proteinGramsPerKg",
          "label": "Protein target",
          "unit": "g/kg",
          "defaultValue": 1.6,
          "min": 0,
          "max": null,
          "step": 0.1,
          "help": null
        },
        {
          "key": "fatPercent",
          "label": "Fat calories",
          "unit": "%",
          "defaultValue": 25,
          "min": 0,
          "max": 80,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "calories": 2200,
        "bodyWeightKg": 80,
        "proteinGramsPerKg": 1.6,
        "fatPercent": 25
      },
      "outputLabel": "Protein target",
      "outputUnit": "protein, fat and carbohydrate grams",
      "assumptions": [
        "Protein and carbohydrate are estimated at 4 kcal/g and fat at 9 kcal/g.",
        "The result is nutrition planning arithmetic, not medical advice.",
        "If protein plus fat exceed total calories, carbohydrate is shown as zero."
      ],
      "workedExample": "At 2,200 kcal, 80 kg body weight, 1.6 g/kg protein and 25% fat, protein is 128 g, fat is about 61 g and carbohydrate is about 284 g.",
      "keywords": [
        "macro calculator",
        "macro calculator formula",
        "online macro calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "macro",
        "calculator"
      ]
    },
    {
      "slug": "moon-phase-calculator",
      "name": "Moon Phase Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/moon-phase-calculator/",
      "category": "Astronomy & Sky",
      "status": "live",
      "description": "Calculate Moon phase, illuminated fraction and days to the next full or new moon from Astronomy Engine lunar elongation.",
      "directAnswer": "The calculator samples Astronomy Engine lunar elongation for the selected UTC date, labels the phase band, calculates illuminated fraction and searches the next exact new/full phase instants.",
      "formulaText": "MoonPhase(date) -> elongation. Phase-age equivalent = elongation / 360 × 29.530588853. Illumination fraction = (1 − cos(elongation)) ÷ 2. SearchMoonPhase(0/180) finds the next new/full phase instants.",
      "formulaLatex": "Sky state = date + observer location + Sun/Moon/planet geometry",
      "inputs": [
        {
          "key": "year",
          "label": "Year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1900,
          "max": 2100,
          "step": 1,
          "help": null
        },
        {
          "key": "month",
          "label": "Month",
          "unit": null,
          "defaultValue": 7,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "day",
          "label": "Day",
          "unit": null,
          "defaultValue": 16,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "year": 2026,
        "month": 7,
        "day": 16
      },
      "outputLabel": "Moon phase",
      "outputUnit": "phase and illumination",
      "assumptions": [
        "Uses Astronomy Engine MoonPhase and SearchMoonPhase.",
        "Good for educational phase context and transparent calculation checks.",
        "Local viewing conditions, moonrise time and libration are not included.",
        "Dates are evaluated at UTC midnight."
      ],
      "workedExample": "For the selected UTC date, read the Moon-Sun elongation from Astronomy Engine. Convert that angle to an equivalent phase age, calculate illumination from the cosine of the angle, then search the next 0° and 180° phase instants.",
      "keywords": [
        "moon phase calculator",
        "moon phase calculator formula",
        "online moon phase calculator",
        "sun/moon/astronomy calculator",
        "transparent calculator",
        "calculationtime",
        "moon",
        "phase"
      ]
    },
    {
      "slug": "moonrise-and-moonset-calculator",
      "name": "Moonrise and Moonset Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/moonrise-and-moonset-calculator/",
      "category": "Astronomy & Sky",
      "status": "live",
      "description": "Calculate moonrise and moonset from Astronomy Engine for a date and observer location.",
      "directAnswer": "The moonrise and moonset calculator uses Astronomy Engine SearchRiseSet(Moon) for the entered date and observer, then displays UTC instants, observer-local civil time and engine-derived lunar phase context.",
      "formulaText": "observer = Astronomy.Observer(latitude, longitude, elevationMetres). t0 = local civil midnight converted to UTC. Moonrise = SearchRiseSet(Moon, observer, +1, t0, 1.05). Moonset = SearchRiseSet(Moon, observer, -1, t0, 1.05). Lunar phase context = MoonPhase(t0).",
      "formulaLatex": "Moonrise/moonset = Astronomy.SearchRiseSet(Moon, observer, direction, localMidnightUTC, 1.05)",
      "inputs": [
        {
          "key": "year",
          "label": "Year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1900,
          "max": 2100,
          "step": 1,
          "help": null
        },
        {
          "key": "month",
          "label": "Month",
          "unit": null,
          "defaultValue": 7,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "day",
          "label": "Day",
          "unit": null,
          "defaultValue": 16,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        },
        {
          "key": "latitude",
          "label": "Latitude",
          "unit": "degrees",
          "defaultValue": -33.9,
          "min": -89.8,
          "max": 89.8,
          "step": 0.1,
          "help": null
        },
        {
          "key": "longitude",
          "label": "Longitude",
          "unit": "degrees",
          "defaultValue": 151.2,
          "min": -180,
          "max": 180,
          "step": 0.1,
          "help": "Use positive east, negative west."
        },
        {
          "key": "timezoneOffset",
          "label": "UTC offset",
          "unit": "hours",
          "defaultValue": 10,
          "min": -12,
          "max": 14,
          "step": 0.5,
          "help": null
        },
        {
          "key": "elevationMetres",
          "label": "Elevation",
          "unit": "metres",
          "defaultValue": 0,
          "min": 0,
          "max": 9000,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "year": 2026,
        "month": 7,
        "day": 16,
        "latitude": -33.9,
        "longitude": 151.2,
        "timezoneOffset": 10,
        "elevationMetres": 0
      },
      "outputLabel": "Moonrise and moonset",
      "outputUnit": "UTC and observer-local civil time with lunar phase context",
      "assumptions": [
        "Astronomy Engine computes the Moon rise/set instants for the entered observer.",
        "Timezone offset is entered manually and does not apply daylight-saving rules automatically.",
        "Flat horizon and entered elevation are used; local terrain, weather and horizon obstruction can affect visibility.",
        "Some local dates may have no moonrise or no moonset in the search window; the calculator reports that explicitly."
      ],
      "workedExample": "For 16 July 2026 near Sydney, the calculator converts the local civil date to UTC, searches for Moon rise and set from the entered latitude and longitude, then displays the UTC and local civil times.",
      "keywords": [
        "moonrise and moonset calculator",
        "moonrise and moonset calculator formula",
        "online moonrise and moonset calculator",
        "sun/moon/astronomy calculator",
        "transparent calculator",
        "calculationtime",
        "moonrise",
        "and"
      ]
    },
    {
      "slug": "mortgage-calculator",
      "name": "Mortgage Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/mortgage-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Estimate a US-style monthly mortgage payment with principal and interest, property tax, home insurance, PMI and HOA shown separately.",
      "directAnswer": "A 500,000 home with 100,000 down, 6.5% interest and a 30-year term gives about 2,528.27 per month for principal and interest. With the default 400 property tax and 150 insurance estimates, the all-in planning figure is about 3,078.27 per month before lender-specific fees. The report also compares extra payments, biweekly payoff, annual cost escalation and amortization checkpoints.",
      "formulaText": "Loan amount = home price − down payment. Monthly principal-and-interest payment = P × r × (1 + r)^n ÷ ((1 + r)^n − 1), where P is loan principal, r is monthly interest rate and n is total monthly payments. Estimated monthly cost = principal and interest + property tax + insurance + PMI + HOA. Extra-payment and biweekly comparisons simulate monthly amortization with the same interest rate.",
      "formulaLatex": "Payment = P r (1 + r)^{n} / ((1 + r)^{n} - 1)",
      "inputs": [
        {
          "key": "homePrice",
          "label": "Home price",
          "unit": "USD",
          "defaultValue": 500000,
          "min": 0,
          "max": null,
          "step": 1000,
          "help": "Purchase price or property value. Start here before comparing loan terms."
        },
        {
          "key": "downPayment",
          "label": "Down payment",
          "unit": "USD",
          "defaultValue": 100000,
          "min": 0,
          "max": null,
          "step": 1000,
          "help": "Cash paid upfront. The loan amount is home price minus down payment."
        },
        {
          "key": "annualRate",
          "label": "Interest rate",
          "unit": "% yearly",
          "defaultValue": 6.5,
          "min": 0,
          "max": 100,
          "step": 0.01,
          "help": "Nominal annual fixed mortgage rate used for the principal-and-interest payment."
        },
        {
          "key": "termYears",
          "label": "Loan term",
          "unit": "years",
          "defaultValue": 30,
          "min": 1,
          "max": 50,
          "step": 1,
          "help": "Common US presets are 15, 20 and 30 years. Longer terms lower the payment but can raise total interest."
        },
        {
          "key": "propertyTaxMonthly",
          "label": "Property tax",
          "unit": "monthly USD",
          "defaultValue": 400,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Monthly property-tax estimate. Use 0 if you only want principal and interest."
        },
        {
          "key": "insuranceMonthly",
          "label": "Home insurance",
          "unit": "monthly USD",
          "defaultValue": 150,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Monthly homeowner insurance estimate."
        },
        {
          "key": "pmiMonthly",
          "label": "PMI / mortgage insurance",
          "unit": "monthly USD",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Optional private mortgage insurance or lender mortgage insurance estimate."
        },
        {
          "key": "hoaMonthly",
          "label": "HOA / condo fees",
          "unit": "monthly USD",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Optional monthly HOA, condo, strata or association fee."
        },
        {
          "key": "extraMonthlyPayment",
          "label": "Extra principal payment",
          "unit": "monthly USD",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Optional extra monthly payment used for the extra-payment comparison, not the base required payment."
        },
        {
          "key": "annualCostIncrease",
          "label": "Annual tax/insurance/HOA increase",
          "unit": "% yearly",
          "defaultValue": 3,
          "min": 0,
          "max": 20,
          "step": 0.1,
          "help": "Optional escalation used to show how non-loan housing costs can rise over time."
        },
        {
          "key": "startYear",
          "label": "Loan start year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1900,
          "max": 2200,
          "step": 1,
          "help": "Used to estimate payoff year in the report."
        },
        {
          "key": "startMonth",
          "label": "Loan start month",
          "unit": null,
          "defaultValue": 7,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": "Used to estimate payoff month in the report."
        },
        {
          "key": "annualHouseholdIncome",
          "label": "Household income",
          "unit": "annual USD",
          "defaultValue": 120000,
          "min": 0,
          "max": null,
          "step": 1000,
          "help": "Optional income estimate used for a simple affordability context check."
        },
        {
          "key": "monthlyDebt",
          "label": "Other monthly debt",
          "unit": "monthly USD",
          "defaultValue": 500,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Optional existing debt payments for a simple debt-to-income context check."
        }
      ],
      "defaultState": {
        "homePrice": 500000,
        "downPayment": 100000,
        "annualRate": 6.5,
        "termYears": 30,
        "propertyTaxMonthly": 400,
        "insuranceMonthly": 150,
        "pmiMonthly": 0,
        "hoaMonthly": 0,
        "extraMonthlyPayment": 0,
        "annualCostIncrease": 3,
        "startYear": 2026,
        "startMonth": 7,
        "annualHouseholdIncome": 120000,
        "monthlyDebt": 500
      },
      "outputLabel": "Estimated monthly mortgage cost",
      "outputUnit": "per month",
      "assumptions": [
        "US dollars are used by default because the first traffic target is the US mortgage-search market.",
        "The payment formula estimates a fixed-rate monthly principal-and-interest payment.",
        "Property tax, home insurance, PMI and HOA are simple monthly planning inputs, not official escrow or lender disclosures.",
        "Annual cost escalation applies only to property tax, insurance, PMI and HOA planning lines, not the fixed principal-and-interest payment.",
        "Closing costs, lender fees, APR rules, refinance costs, variable-rate changes, tax deductions and local legal rules are not modeled.",
        "This is planning arithmetic only, not lending, legal, tax or financial advice."
      ],
      "workedExample": "Home price 500,000 minus down payment 100,000 gives a 400,000 loan. At 6.5% annual interest, the monthly rate is 0.065 ÷ 12. Over 30 years there are 360 payments, so the fixed principal-and-interest payment is about 2,528.27. Add 400 property tax, 150 insurance, 0 PMI and 0 HOA for an estimated monthly housing cost of about 3,078.27.",
      "keywords": [
        "mortgage calculator",
        "mortgage calculator formula",
        "online mortgage calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "mortgage",
        "calculator"
      ]
    },
    {
      "slug": "mortgage-payoff-calculator",
      "name": "Mortgage Payoff Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/mortgage-payoff-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Estimate how long a mortgage balance may take to pay off from current balance, interest rate, scheduled payment and extra monthly principal.",
      "directAnswer": "Enter the current mortgage balance, rate, scheduled monthly payment and extra principal to estimate payoff time, interest cost, and the months/interest saved.",
      "formulaText": "Each month: interest = opening balance × annual rate ÷ 12; principal paid = scheduled payment + extra principal − interest; new balance = opening balance − principal paid. Repeat until balance reaches zero.",
      "formulaLatex": "Payment = P r (1 + r)^{n} / ((1 + r)^{n} - 1)",
      "inputs": [
        {
          "key": "currentBalance",
          "label": "Current mortgage balance",
          "unit": "currency",
          "defaultValue": 400000,
          "min": 0,
          "max": null,
          "step": 1000,
          "help": "Outstanding principal balance today, not the original purchase price."
        },
        {
          "key": "annualRate",
          "label": "Annual interest rate",
          "unit": "%",
          "defaultValue": 6.5,
          "min": 0,
          "max": 100,
          "step": 0.01,
          "help": "Nominal annual mortgage rate used for the payoff estimate."
        },
        {
          "key": "scheduledMonthlyPayment",
          "label": "Scheduled monthly payment",
          "unit": "currency",
          "defaultValue": 2528.27,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Current required principal-and-interest payment."
        },
        {
          "key": "extraMonthlyPayment",
          "label": "Extra monthly principal",
          "unit": "currency",
          "defaultValue": 250,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Extra amount assumed to reduce principal each month."
        }
      ],
      "defaultState": {
        "currentBalance": 400000,
        "annualRate": 6.5,
        "scheduledMonthlyPayment": 2528.27,
        "extraMonthlyPayment": 250
      },
      "outputLabel": "Estimated payoff time",
      "outputUnit": "months",
      "assumptions": [
        "The current balance is treated as the starting principal balance.",
        "The interest rate is fixed and converted to a monthly rate.",
        "Extra monthly payment is applied directly to principal with no prepayment penalty.",
        "Taxes, insurance, escrow, redraws, offset accounts, fees and payment posting delays are excluded."
      ],
      "workedExample": "For a $400,000 balance at 6.5% with a $2,528.27 scheduled payment and $250 extra principal, the calculator loops month by month until the balance reaches zero, then compares that result with the scheduled payment alone.",
      "keywords": [
        "mortgage payoff calculator",
        "mortgage payoff calculator formula",
        "online mortgage payoff calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "mortgage",
        "payoff"
      ]
    },
    {
      "slug": "mortgage-repayment-calculator",
      "name": "Mortgage Repayment Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/mortgage-repayment-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Estimate fixed-rate mortgage repayments from home price, down payment, rate, term, and optional monthly tax or insurance costs.",
      "directAnswer": "Enter the property price, down payment, rate and term to see principal-and-interest repayment, optional monthly housing costs, and total interest over the loan term.",
      "formulaText": "Loan amount = home price − down payment. Monthly principal-and-interest payment = P × r × (1 + r)^n ÷ ((1 + r)^n − 1), where P is loan principal, r is monthly interest rate and n is total monthly payments. If r = 0, payment = P ÷ n.",
      "formulaLatex": "Payment = P r (1 + r)^{n} / ((1 + r)^{n} - 1)",
      "inputs": [
        {
          "key": "homePrice",
          "label": "Home price",
          "unit": "currency",
          "defaultValue": 500000,
          "min": 0,
          "max": null,
          "step": 1000,
          "help": "Purchase price or property value used for the estimate."
        },
        {
          "key": "downPayment",
          "label": "Down payment",
          "unit": "currency",
          "defaultValue": 100000,
          "min": 0,
          "max": null,
          "step": 1000,
          "help": "Cash paid upfront. The loan amount is home price minus down payment."
        },
        {
          "key": "annualRate",
          "label": "Annual interest rate",
          "unit": "%",
          "defaultValue": 6.5,
          "min": 0,
          "max": 100,
          "step": 0.01,
          "help": "Nominal annual mortgage rate used for the principal-and-interest payment."
        },
        {
          "key": "termYears",
          "label": "Loan term",
          "unit": "years",
          "defaultValue": 30,
          "min": 1,
          "max": 50,
          "step": 1,
          "help": "Repayment term in years."
        },
        {
          "key": "propertyTaxMonthly",
          "label": "Property tax",
          "unit": "monthly optional",
          "defaultValue": 400,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Optional monthly property tax estimate."
        },
        {
          "key": "insuranceMonthly",
          "label": "Insurance/fees",
          "unit": "monthly optional",
          "defaultValue": 150,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Optional monthly home insurance, strata/HOA or similar recurring housing cost."
        }
      ],
      "defaultState": {
        "homePrice": 500000,
        "downPayment": 100000,
        "annualRate": 6.5,
        "termYears": 30,
        "propertyTaxMonthly": 400,
        "insuranceMonthly": 150
      },
      "outputLabel": "Estimated monthly repayment",
      "outputUnit": "per month",
      "assumptions": [
        "The payment formula estimates fixed-rate principal and interest only before optional monthly tax and insurance fields are added.",
        "The annual rate is converted to a monthly rate by dividing by 12.",
        "Payments are assumed monthly and level across the selected term.",
        "Closing costs, lender fees, mortgage insurance, offset accounts, escrow rules, variable-rate changes, refinance costs and local taxes are not included unless entered as simple monthly costs.",
        "This is planning arithmetic only, not lending, legal, tax or financial advice."
      ],
      "workedExample": "Home price 500,000 minus down payment 100,000 gives a 400,000 loan. At 6.5% annual interest, the monthly rate is 0.065 ÷ 12. Over 30 years there are 360 payments, so the fixed principal-and-interest payment is about 2,528.27. Adding 400 property tax and 150 insurance gives an estimated all-in monthly housing figure of about 3,078.27.",
      "keywords": [
        "mortgage repayment calculator",
        "mortgage repayment calculator formula",
        "online mortgage repayment calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "mortgage",
        "repayment"
      ]
    },
    {
      "slug": "number-format-converter",
      "name": "Number Format Converter",
      "canonicalUrl": "https://www.calculationtime.com/calculators/number-format-converter/",
      "category": "Math",
      "status": "live",
      "description": "Convert decimals, fractions and percentages in one bidirectional number-format tool with simplified fractions, percent output and printable proof.",
      "directAnswer": "A Number Format Converter is the survivor page for closely related decimal, fraction and percentage format conversions, replacing one-direction format micro-routes with one reversible worksheet.",
      "formulaText": "Decimal from fraction = numerator ÷ denominator. Decimal from percentage = percentage ÷ 100. Percentage = decimal × 100. Fraction approximation = round(decimal × denominator limit) ÷ denominator limit, then reduce by the greatest common divisor.",
      "formulaLatex": "decimal = numerator \\div denominator; percent = decimal \\times 100",
      "inputs": [
        {
          "key": "sourceMode",
          "label": "Source format",
          "unit": null,
          "defaultValue": 1,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 1 for decimal, 2 for fraction or 3 for percentage."
        },
        {
          "key": "decimalValue",
          "label": "Decimal value",
          "unit": null,
          "defaultValue": 0.375,
          "min": null,
          "max": null,
          "step": 0.001,
          "help": "Decimal source value used when source format is 1."
        },
        {
          "key": "numerator",
          "label": "Fraction numerator",
          "unit": null,
          "defaultValue": 3,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Fraction numerator used when source format is 2."
        },
        {
          "key": "denominator",
          "label": "Fraction denominator",
          "unit": null,
          "defaultValue": 8,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Fraction denominator used when source format is 2."
        },
        {
          "key": "percentageValue",
          "label": "Percentage value",
          "unit": null,
          "defaultValue": 37.5,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Percentage source value used when source format is 3."
        },
        {
          "key": "maxDenominator",
          "label": "Fraction denominator limit",
          "unit": null,
          "defaultValue": 64,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Largest denominator used when approximating a decimal or percentage as a simplified fraction."
        },
        {
          "key": "decimalPlaces",
          "label": "Decimal places",
          "unit": null,
          "defaultValue": 6,
          "min": 0,
          "max": 12,
          "step": 1,
          "help": "Maximum decimal places shown in the result."
        }
      ],
      "defaultState": {
        "sourceMode": 1,
        "decimalValue": 0.375,
        "numerator": 3,
        "denominator": 8,
        "percentageValue": 37.5,
        "maxDenominator": 64,
        "decimalPlaces": 6
      },
      "outputLabel": "Converted number formats",
      "outputUnit": "decimal, fraction and percentage",
      "assumptions": [
        "This converter changes number format only; it does not solve percent-of, percentage change, ratios, proportions, averages or statistical summaries.",
        "Fraction output may be approximate when the decimal cannot be represented exactly under the chosen denominator limit.",
        "The approximation error is shown so the user can judge whether the fraction is close enough for a worksheet, recipe, drawing or classroom example.",
        "Use a dedicated percentage, ratio, proportion or statistics calculator when the problem asks a relationship question rather than a format conversion."
      ],
      "workedExample": "For decimal 0.375 with denominator limit 64: 0.375 × 64 = 24, so the fraction is 24/64. The greatest common divisor is 8, so the reduced fraction is 3/8. Percentage = 0.375 × 100 = 37.5%.",
      "keywords": [
        "number format converter",
        "decimal fraction percentage converter",
        "decimal to fraction percentage calculator",
        "transparent calculator",
        "calculationtime"
      ]
    },
    {
      "slug": "one-rep-max-calculator",
      "name": "One Rep Max Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/one-rep-max-calculator/",
      "category": "Health & Fitness",
      "status": "live",
      "description": "One Rep Max Calculator estimates 1RM from lifted weight and reps using Epley and Brzycki checks.",
      "directAnswer": "One Rep Max Calculator averages Epley and Brzycki estimates and shows a training-max percentage for programming.",
      "formulaText": "Epley = weight x (1 + reps / 30). Brzycki = weight x 36 / (37 - reps). Estimate = average of both formulas.",
      "formulaLatex": "One rep max = weight \\times (1 + reps / 30)",
      "inputs": [
        {
          "key": "weightLifted",
          "label": "Weight lifted",
          "unit": "weight",
          "defaultValue": 100,
          "min": 0,
          "max": null,
          "step": 2.5,
          "help": "Weight lifted for the set."
        },
        {
          "key": "reps",
          "label": "Reps completed",
          "unit": "count",
          "defaultValue": 5,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Repetitions completed with that weight."
        },
        {
          "key": "trainingMaxPercent",
          "label": "Training max",
          "unit": "percent",
          "defaultValue": 90,
          "min": 1,
          "max": 100,
          "step": 1,
          "help": "Optional planning percentage of the estimated 1RM."
        }
      ],
      "defaultState": {
        "weightLifted": 100,
        "reps": 5,
        "trainingMaxPercent": 90
      },
      "outputLabel": "Estimated one rep max",
      "outputUnit": "weight",
      "assumptions": [
        "Best for lower-rep sets with good form.",
        "Technique, fatigue and exercise type affect real max strength.",
        "Do not test maximal lifts without appropriate safety."
      ],
      "workedExample": "100 for 5 reps gives about 116.7 by Epley and 112.5 by Brzycki, averaging about 114.6.",
      "keywords": [
        "one rep max calculator",
        "one rep max calculator formula",
        "online one rep max calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "one",
        "rep"
      ]
    },
    {
      "slug": "online-stopwatch",
      "name": "Online Stopwatch",
      "canonicalUrl": "https://www.calculationtime.com/calculators/online-stopwatch/",
      "category": "Date & Time",
      "status": "live",
      "description": "Record elapsed stopwatch time, lap count, fastest lap and latest split as a printable timing record.",
      "directAnswer": "A 7 minute 32.48 second stopwatch record has 452.48 elapsed seconds. With 7 laps, the average lap is about 64.64 seconds.",
      "formulaText": "Elapsed seconds = hours × 3,600 + minutes × 60 + seconds + hundredths ÷ 100. Average lap = elapsed seconds ÷ lap count.",
      "formulaLatex": "Elapsed time = current time - start time - paused time",
      "inputs": [
        {
          "key": "hours",
          "label": "Elapsed hours",
          "unit": null,
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "minutes",
          "label": "Elapsed minutes",
          "unit": null,
          "defaultValue": 7,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        },
        {
          "key": "seconds",
          "label": "Elapsed seconds",
          "unit": null,
          "defaultValue": 32,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        },
        {
          "key": "hundredths",
          "label": "Hundredths",
          "unit": null,
          "defaultValue": 48,
          "min": 0,
          "max": 99,
          "step": 1,
          "help": null
        },
        {
          "key": "lapCount",
          "label": "Lap count",
          "unit": null,
          "defaultValue": 7,
          "min": 0,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "fastestLapSeconds",
          "label": "Fastest lap",
          "unit": "seconds",
          "defaultValue": 58.4,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": null
        },
        {
          "key": "latestSplitSeconds",
          "label": "Latest split",
          "unit": "seconds",
          "defaultValue": 64.2,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": null
        }
      ],
      "defaultState": {
        "hours": 0,
        "minutes": 7,
        "seconds": 32,
        "hundredths": 48,
        "lapCount": 7,
        "fastestLapSeconds": 58.4,
        "latestSplitSeconds": 64.2
      },
      "outputLabel": "Elapsed time",
      "outputUnit": "h m s",
      "assumptions": [
        "This foundation page calculates a recorded stopwatch result, not a live timer.",
        "Use Stopwatch Clock for live start/stop/lap interaction.",
        "Lap averages require a lap count greater than zero.",
        "Official timing still needs the required certified timing system."
      ],
      "workedExample": "0h 7m 32.48s equals 0 × 3,600 + 7 × 60 + 32 + 48 ÷ 100 = 452.48 seconds. Across 7 laps, average lap is about 64.64 seconds.",
      "keywords": [
        "online stopwatch",
        "online stopwatch formula",
        "online stopwatch calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "online",
        "stopwatch"
      ]
    },
    {
      "slug": "pace-calculator",
      "name": "Pace Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/pace-calculator/",
      "category": "Health & Fitness",
      "status": "live",
      "description": "Calculate pace per mile and per kilometre from distance and finish time for running, walking, cycling, race planning and printable training records.",
      "directAnswer": "A pace calculator divides total time by distance so a run, walk, ride or race result becomes minutes per mile and minutes per kilometre. This page keeps the distance, time, speed, same-pace projection and printable training record visible.",
      "formulaText": "Total seconds = hours × 3,600 + minutes × 60 + seconds. Pace per mile = total seconds ÷ distance miles. Distance kilometres = distance miles × 1.609344. Pace per kilometre = total seconds ÷ distance kilometres. Speed mph = distance miles ÷ total hours.",
      "formulaLatex": "Pace = elapsed time / distance",
      "inputs": [
        {
          "key": "distanceMiles",
          "label": "Distance",
          "unit": "mi",
          "defaultValue": 6.21371,
          "min": 0,
          "max": null,
          "step": 0.001,
          "help": "Enter the route or race distance in miles. A 10 km race is about 6.21371 miles."
        },
        {
          "key": "hours",
          "label": "Finish time hours",
          "unit": "h",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Whole hours in the total time."
        },
        {
          "key": "minutes",
          "label": "Finish time minutes",
          "unit": "min",
          "defaultValue": 50,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Minutes in the total time."
        },
        {
          "key": "seconds",
          "label": "Finish time seconds",
          "unit": "sec",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Seconds in the total time."
        },
        {
          "key": "targetDistanceMiles",
          "label": "Optional target distance",
          "unit": "mi",
          "defaultValue": 13.1094,
          "min": 0,
          "max": null,
          "step": 0.001,
          "help": "Optional distance for a same-pace time projection, such as a half marathon."
        }
      ],
      "defaultState": {
        "distanceMiles": 6.21371,
        "hours": 0,
        "minutes": 50,
        "seconds": 0,
        "targetDistanceMiles": 13.1094
      },
      "outputLabel": "Pace",
      "outputUnit": "minutes per mile and minutes per kilometre with speed and target-time projection",
      "assumptions": [
        "Distance is entered in miles and converted to kilometres using 1 mile = exactly 1.609344 kilometres.",
        "The calculator assumes a steady average pace across the whole distance; it does not model hills, rests, heat, wind, GPS drift or split variation.",
        "Target projection uses the same average pace as the entered effort, so it is a planning estimate rather than a coaching prediction.",
        "Times are treated as elapsed clock time. For race records, use official chip or gun time according to the event rule.",
        "For medical, training-load or competition decisions, use appropriate professional guidance and official race measurements."
      ],
      "workedExample": "For a 10 km race entered as 6.21371 miles in 50 minutes, total seconds = 3,000. Pace per mile = 3,000 ÷ 6.21371 = about 482.8 seconds, or 8:03 per mile. The kilometre pace is about 5:00 per km.",
      "keywords": [
        "pace calculator",
        "pace calculator formula",
        "online pace calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "pace",
        "calculator"
      ]
    },
    {
      "slug": "payment-calculator",
      "name": "Payment Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/payment-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Payment Calculator estimates the monthly payment, total cash paid and finance charge for a purchase or balance repaid over a fixed term.",
      "directAnswer": "Payment Calculator turns a financed amount, upfront payment, rate and term into a monthly payment with total paid and finance-charge proof.",
      "formulaText": "Financed amount = amount − upfront payment. Monthly payment = P × r(1+r)^n ÷ ((1+r)^n − 1), or P ÷ n when r = 0.",
      "formulaLatex": "Payment = P r (1 + r)^{n} / ((1 + r)^{n} - 1)",
      "inputs": [
        {
          "key": "amount",
          "label": "Purchase or balance amount",
          "unit": "currency",
          "defaultValue": 12000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "The full amount before any upfront payment."
        },
        {
          "key": "upfrontPayment",
          "label": "Upfront payment",
          "unit": "currency optional",
          "defaultValue": 1000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Cash paid now before calculating the financed balance."
        },
        {
          "key": "annualRate",
          "label": "Annual interest rate",
          "unit": "percent",
          "defaultValue": 8.5,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Fixed annual rate used for the payment estimate."
        },
        {
          "key": "termMonths",
          "label": "Payment term",
          "unit": "months",
          "defaultValue": 60,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Number of monthly payments."
        }
      ],
      "defaultState": {
        "amount": 12000,
        "upfrontPayment": 1000,
        "annualRate": 8.5,
        "termMonths": 60
      },
      "outputLabel": "Estimated payment",
      "outputUnit": "currency per payment",
      "assumptions": [
        "Fixed monthly payments are used for the full term.",
        "The annual interest rate is divided by 12 for a monthly estimate.",
        "Taxes, late fees, account fees and variable-rate changes are not included unless already part of the entered amount.",
        "This is planning arithmetic only, not lender advice."
      ],
      "workedExample": "A 12,000 purchase with 1,000 upfront leaves 11,000 financed. At 8.5% over 60 months, the estimated payment is about 225.67 per month.",
      "keywords": [
        "payment calculator",
        "payment calculator formula",
        "online payment calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "payment",
        "calculator"
      ]
    },
    {
      "slug": "percent-error-calculator",
      "name": "Percent Error Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/percent-error-calculator/",
      "category": "Math & Statistics",
      "status": "live",
      "description": "Calculate percent error between an experimental or measured value and an accepted reference value, with absolute and signed error shown clearly.",
      "directAnswer": "A measured value of 98 compared with an accepted value of 100 has an absolute error of 2 and a percent error of 2.00%. The calculator subtracts the accepted value from the measured value, divides by the accepted value, and multiplies by 100.",
      "formulaText": "Error = measured value − accepted value. Absolute error = |measured value − accepted value|. Percent error = (absolute error ÷ |accepted value|) × 100. Signed percent error = ((measured value − accepted value) ÷ |accepted value|) × 100.",
      "formulaLatex": "Percent error = |measured - true| / |true| \\\\times 100",
      "inputs": [
        {
          "key": "measuredValue",
          "label": "Measured value",
          "unit": null,
          "defaultValue": 98,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "The observed, experimental or calculated value you want to compare."
        },
        {
          "key": "acceptedValue",
          "label": "Accepted/reference value",
          "unit": null,
          "defaultValue": 100,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "The standard, expected or reference value used as the comparison base."
        }
      ],
      "defaultState": {
        "measuredValue": 98,
        "acceptedValue": 100
      },
      "outputLabel": "Percent error",
      "outputUnit": "percent",
      "assumptions": [
        "The accepted/reference value is treated as the comparison base.",
        "Percent error is undefined when the accepted value is zero because the formula would divide by zero.",
        "The main result uses absolute percent error so overestimates and underestimates are comparable.",
        "Signed percent error is shown to indicate whether the measured value is above or below the reference value.",
        "This is transparent general arithmetic; measurement uncertainty, calibration and laboratory method rules are not certified by this page."
      ],
      "workedExample": "Measured value = 98 and accepted value = 100. Error = 98 − 100 = −2. Absolute error = 2. Percent error = 2 ÷ 100 × 100 = 2.00%. Signed percent error is −2.00%, showing the measurement is below the reference.",
      "keywords": [
        "percent error calculator",
        "percent error calculator formula",
        "online percent error calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "percent",
        "error"
      ]
    },
    {
      "slug": "percentage-calculator",
      "name": "Percentage Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/percentage-calculator/",
      "category": "Percentages & Everyday Math",
      "status": "live",
      "description": "Calculate a percentage of a number, what percent one value is of another, and percentage change in one clear worksheet with a printable calculation record.",
      "directAnswer": "A percentage calculator answers three common questions: what is X% of Y, what percent one value is of another, and how much a value changed in percent. The page keeps the base number, denominator and direction of change visible so the printed record is auditable.",
      "formulaText": "Percentage amount = base number × percentage ÷ 100. Part-of-whole percent = part value ÷ whole value × 100. Percentage change = (new value − original value) ÷ |original value| × 100 when the original value is not zero.",
      "formulaLatex": "Result = base value \\\\times rate / 100",
      "inputs": [
        {
          "key": "percentage",
          "label": "Percentage to apply",
          "unit": "%",
          "defaultValue": 20,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Use this for questions like “what is 20% of 150?”"
        },
        {
          "key": "baseNumber",
          "label": "Base number",
          "unit": null,
          "defaultValue": 150,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "The number the percentage is applied to. This is the “of” number."
        },
        {
          "key": "partValue",
          "label": "Part value",
          "unit": null,
          "defaultValue": 30,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Use this for questions like “30 is what percent of 150?”"
        },
        {
          "key": "wholeValue",
          "label": "Whole value",
          "unit": null,
          "defaultValue": 150,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "The comparison whole or denominator for the part-of-whole percentage."
        },
        {
          "key": "originalValue",
          "label": "Original value",
          "unit": null,
          "defaultValue": 150,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Starting value for the percentage-change cross-check."
        },
        {
          "key": "newValue",
          "label": "New value",
          "unit": null,
          "defaultValue": 180,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Ending value for the percentage-change cross-check."
        }
      ],
      "defaultState": {
        "percentage": 20,
        "baseNumber": 150,
        "partValue": 30,
        "wholeValue": 150,
        "originalValue": 150,
        "newValue": 180
      },
      "outputLabel": "Percentage result",
      "outputUnit": "applied amount with part-of-whole and change cross-checks",
      "assumptions": [
        "Percent means parts per hundred, so dividing by 100 converts a percentage into a decimal multiplier.",
        "The base number is the number being acted on in “X percent of Y” questions.",
        "Part-of-whole percentages require a non-zero whole value because the whole is the denominator.",
        "Percentage change uses the original value as the baseline. A zero original value makes ordinary percentage change undefined.",
        "The calculator is arithmetic only. It does not decide tax rules, payroll rules, grades, discounts, medical risk or legal thresholds."
      ],
      "workedExample": "For 20% of 150, percentage amount = 150 × 20 ÷ 100 = 30. For the part-of-whole check, 30 ÷ 150 × 100 = 20%. If the original value is 150 and the new value is 180, percentage change = (180 − 150) ÷ 150 × 100 = 20% increase.",
      "keywords": [
        "percentage calculator",
        "percentage calculator formula",
        "online percentage calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "percentage",
        "calculator"
      ]
    },
    {
      "slug": "percentage-change-calculator",
      "name": "Percentage Change Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/percentage-change-calculator/",
      "category": "Math",
      "status": "live",
      "description": "Find the percentage increase or decrease between an original value and a new value, with baseline sensitivity, visual proof and a printable comparison record.",
      "directAnswer": "A change from 80 to 100 is a 25% increase. This calculator subtracts the original value from the new value, divides that change by the absolute original value, and labels the result as an increase, decrease or no change.",
      "formulaText": "Percentage change = ((new value − original value) ÷ |original value|) × 100.",
      "formulaLatex": "Change % = (new - old) / old \\\\times 100",
      "inputs": [
        {
          "key": "originalValue",
          "label": "Original value",
          "unit": null,
          "defaultValue": 80,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "The starting number, baseline price, old measurement or previous total."
        },
        {
          "key": "newValue",
          "label": "New value",
          "unit": null,
          "defaultValue": 100,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "The ending number, new price, current measurement or latest total."
        }
      ],
      "defaultState": {
        "originalValue": 80,
        "newValue": 100
      },
      "outputLabel": "Percentage change",
      "outputUnit": "percent",
      "assumptions": [
        "The original value is the baseline for the comparison.",
        "A positive result is an increase; a negative result is a decrease.",
        "When the original value is zero, ordinary percentage change is undefined because division by zero is not valid.",
        "The formula uses the absolute original value so comparisons from negative baselines keep a stable percent magnitude."
      ],
      "workedExample": "Original value 80 and new value 100 gives a change of 20. Divide 20 by 80 to get 0.25, then multiply by 100. The result is a 25% increase.",
      "keywords": [
        "percentage change calculator",
        "percentage change calculator formula",
        "online percentage change calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "percentage",
        "change"
      ]
    },
    {
      "slug": "personal-loan-calculator",
      "name": "Personal Loan Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/personal-loan-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Estimate a personal loan payment from financed balance, APR, term, fees, deposit, and optional extra monthly payment.",
      "directAnswer": "Enter a personal-loan amount, APR, term, financed fee and deposit to compare monthly payment, total paid, total interest, and an extra-payment scenario.",
      "formulaText": "Financed balance = max(0, loan amount + upfront financed fee − down payment). Monthly rate = APR ÷ 100 ÷ 12. Number of payments = term years × 12. Fixed payment = P × r ÷ (1 − (1 + r)^−n). If APR is 0, payment = P ÷ n. Total interest = payment × n − P.",
      "formulaLatex": "Payment = P r (1 + r)^{n} / ((1 + r)^{n} - 1)",
      "inputs": [
        {
          "key": "loanAmount",
          "label": "Loan amount",
          "unit": "$",
          "defaultValue": 25000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Enter the amount actually borrowed before optional fees or deposits."
        },
        {
          "key": "annualRate",
          "label": "Annual interest rate",
          "unit": "% APR",
          "defaultValue": 7.5,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Use the nominal annual percentage rate for a fixed-rate estimate."
        },
        {
          "key": "termYears",
          "label": "Loan term",
          "unit": "years",
          "defaultValue": 5,
          "min": 0.083333,
          "max": null,
          "step": 0.25,
          "help": "Enter the repayment term in years. Five years equals 60 monthly payments."
        },
        {
          "key": "upfrontFee",
          "label": "Upfront financed fee",
          "unit": "$",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Optional fee added to the financed balance if it is rolled into the loan."
        },
        {
          "key": "downPayment",
          "label": "Deposit or down payment",
          "unit": "$",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Optional amount paid upfront and subtracted before the payment is calculated."
        },
        {
          "key": "extraMonthlyPayment",
          "label": "Extra monthly payment",
          "unit": "$",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Optional extra payment for a simple payoff comparison; exact lender amortization may differ."
        }
      ],
      "defaultState": {
        "loanAmount": 25000,
        "annualRate": 7.5,
        "termYears": 5,
        "upfrontFee": 0,
        "downPayment": 0,
        "extraMonthlyPayment": 0
      },
      "outputLabel": "Monthly payment",
      "outputUnit": "estimated monthly payment with total interest and payoff comparison",
      "assumptions": [
        "The calculator estimates a fixed-rate, fully amortizing loan with equal monthly payments.",
        "APR is treated as a nominal annual rate divided into monthly periods; lender APR disclosures, fees, compounding rules and daily interest methods may differ.",
        "Upfront financed fees increase the balance only when they are rolled into the loan; a cash fee should not be entered there.",
        "The down payment is subtracted before payment calculation and is not included in total interest.",
        "Extra monthly payment is a planning comparison, not a formal payoff schedule; confirm prepayment rules, fees and exact balances with the lender."
      ],
      "workedExample": "For a $25,000 loan at 7.5% APR over 5 years, monthly rate = 0.075 ÷ 12 = 0.00625 and n = 60. The fixed-payment formula gives about $500.95 per month, with about $30,056.93 total paid and $5,056.93 interest before any fees or extra payments.",
      "keywords": [
        "personal loan calculator",
        "personal loan calculator formula",
        "online personal loan calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "personal",
        "loan"
      ]
    },
    {
      "slug": "pregnancy-due-date-calculator",
      "name": "Pregnancy Due Date Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/pregnancy-due-date-calculator/",
      "category": "Health & Fitness",
      "status": "planned",
      "description": "Estimate due date, gestational age and trimester from last menstrual period, conception, IVF transfer or ultrasound dating.",
      "directAnswer": "The due date calculator estimates an expected due date and current gestational age from the dating method the user actually has.",
      "formulaText": "LMP method: due date = LMP date + 280 days + (cycle length − 28 days). Conception method: conception date + 266 days. IVF method: transfer date + (266 − embryo day) days. Ultrasound method: scan date + (280 − reported gestational age in days).",
      "formulaLatex": "Due date = last menstrual period + 280 days",
      "inputs": [
        {
          "key": "lmpYear",
          "label": "LMP year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1900,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "lmpMonth",
          "label": "LMP month",
          "unit": null,
          "defaultValue": 6,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "lmpDay",
          "label": "LMP day",
          "unit": null,
          "defaultValue": 1,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        },
        {
          "key": "asOfYear",
          "label": "As-of year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1900,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "asOfMonth",
          "label": "As-of month",
          "unit": null,
          "defaultValue": 6,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "asOfDay",
          "label": "As-of day",
          "unit": null,
          "defaultValue": 20,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        },
        {
          "key": "cycleLengthDays",
          "label": "Cycle length",
          "unit": "days",
          "defaultValue": 28,
          "min": 20,
          "max": 45,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "lmpYear": 2026,
        "lmpMonth": 6,
        "lmpDay": 1,
        "asOfYear": 2026,
        "asOfMonth": 6,
        "asOfDay": 20,
        "cycleLengthDays": 28
      },
      "outputLabel": "Estimated due date",
      "outputUnit": "date and gestational age estimate",
      "assumptions": [
        "This is a conventional estimate only.",
        "Ultrasound dating and clinical advice can change the estimated due date.",
        "Dates are handled as UTC calendar days to avoid timezone drift."
      ],
      "workedExample": "For an LMP date of 2026-06-01 and 28-day cycle, the estimated due date is 2027-03-08.",
      "keywords": [
        "pregnancy due date calculator",
        "pregnancy due date calculator formula",
        "online pregnancy due date calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "pregnancy",
        "due"
      ]
    },
    {
      "slug": "present-value-calculator",
      "name": "Present Value Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/present-value-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Discount a future amount back to today using an annual rate, time horizon and compounding frequency.",
      "directAnswer": "Enter a future amount, discount rate, time horizon and compounding frequency to calculate the equivalent present value and discount amount.",
      "formulaText": "Present value = future value ÷ (1 + annual discount rate ÷ compounds per year)^(years × compounds per year).",
      "formulaLatex": "PV = FV / (1 + r)^{n}",
      "inputs": [
        {
          "key": "futureValue",
          "label": "Future amount",
          "unit": "currency",
          "defaultValue": 10000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "The amount expected or targeted at the future date."
        },
        {
          "key": "annualRate",
          "label": "Annual discount rate",
          "unit": "%",
          "defaultValue": 5,
          "min": -99,
          "max": 100,
          "step": 0.01,
          "help": "Planning discount rate. Use 0 for no discounting."
        },
        {
          "key": "years",
          "label": "Time until future amount",
          "unit": "years",
          "defaultValue": 5,
          "min": 0,
          "max": null,
          "step": 0.25,
          "help": "How many years before the future amount is received or compared."
        },
        {
          "key": "compoundsPerYear",
          "label": "Compounding frequency",
          "unit": "times/year",
          "defaultValue": 12,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Use 12 for monthly, 4 for quarterly, 1 for annual discounting."
        }
      ],
      "defaultState": {
        "futureValue": 10000,
        "annualRate": 5,
        "years": 5,
        "compoundsPerYear": 12
      },
      "outputLabel": "Present value",
      "outputUnit": "currency today",
      "assumptions": [
        "The discount rate is a user-entered planning rate, not a guaranteed investment return or lender quote.",
        "The future amount is treated as one lump sum received at the end of the time period.",
        "Compounding frequency controls how often the annual rate is applied inside the discount factor.",
        "Taxes, fees, inflation, credit risk, missed payments and changing market rates are not included."
      ],
      "workedExample": "For a 10,000 future amount, 5 years and a 5% annual discount rate compounded monthly, the periodic rate is 0.05 ÷ 12. The number of periods is 5 × 12 = 60. Present value = 10,000 ÷ (1 + 0.05 ÷ 12)^60 = about 7,790.41.",
      "keywords": [
        "present value calculator",
        "present value calculator formula",
        "online present value calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "present",
        "value"
      ]
    },
    {
      "slug": "proportion-calculator",
      "name": "Proportion Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/proportion-calculator/",
      "category": "Core Mathematics",
      "status": "live",
      "description": "Solve a two-part proportion with simplified ratio, part-to-whole percentages, and scaled values for a chosen total.",
      "directAnswer": "Enter two related quantities and a target total to see the simplified proportion, each part as a percent of the whole, and the scaled values that keep the same relationship.",
      "formulaText": "Simplified ratio = first value ÷ common factor : second value ÷ common factor. Part share = part ÷ (first value + second value) × 100. Scaled part = target total × part share.",
      "formulaLatex": "Equivalent ratio = a / b = c / d",
      "inputs": [
        {
          "key": "firstValue",
          "label": "First value",
          "unit": null,
          "defaultValue": 12,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "The first part of the ratio."
        },
        {
          "key": "secondValue",
          "label": "Second value",
          "unit": null,
          "defaultValue": 18,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "The second part of the ratio."
        },
        {
          "key": "targetTotal",
          "label": "Scale to total",
          "unit": "optional",
          "defaultValue": 100,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Optional combined total for scaling the same ratio."
        }
      ],
      "defaultState": {
        "firstValue": 12,
        "secondValue": 18,
        "targetTotal": 100
      },
      "outputLabel": "Simplified proportion",
      "outputUnit": "ratio",
      "assumptions": [
        "Both ratio parts are treated as non-negative quantities.",
        "Whole-number values are simplified by their greatest common divisor; decimal values are reduced by decimal-place scaling before the same idea is applied.",
        "If both parts are zero, the ratio is undefined because there is no total relationship to compare.",
        "The optional target total scales the same relationship; it does not change the ratio itself."
      ],
      "workedExample": "For 12 and 18, the greatest common divisor is 6. Divide both parts by 6: 12 ÷ 6 = 2 and 18 ÷ 6 = 3, so the simplified ratio is 2:3. The total parts are 5, so the first share is 40% and the second share is 60%. Scaled to 100, the parts are 40 and 60.",
      "keywords": [
        "proportion calculator",
        "proportion calculator formula",
        "online proportion calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "proportion",
        "calculator"
      ]
    },
    {
      "slug": "protein-intake-calculator",
      "name": "Protein Intake Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/protein-intake-calculator/",
      "category": "Health & Fitness",
      "status": "live",
      "description": "Protein Intake Calculator estimates daily protein, protein per meal and protein calorie share from body weight and target grams per kilogram.",
      "directAnswer": "Protein Intake Calculator turns body weight and a grams-per-kg target into daily protein, per-meal protein and calorie share.",
      "formulaText": "Daily protein = body weight kg x grams per kg. Per meal = daily protein / meals. Protein calories = protein grams x 4.",
      "formulaLatex": "Calories = protein \\\\times 4 + carbs \\\\times 4 + fat \\\\times 9",
      "inputs": [
        {
          "key": "bodyWeightKg",
          "label": "Body weight",
          "unit": "kg",
          "defaultValue": 80,
          "min": 0,
          "max": null,
          "step": 0.5,
          "help": "Current or target body weight."
        },
        {
          "key": "proteinGramsPerKg",
          "label": "Protein target",
          "unit": "g/kg/day",
          "defaultValue": 1.8,
          "min": 0,
          "max": null,
          "step": 0.1,
          "help": "Daily protein grams per kilogram."
        },
        {
          "key": "mealsPerDay",
          "label": "Meals per day",
          "unit": "count",
          "defaultValue": 4,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Used to split protein across meals."
        },
        {
          "key": "calories",
          "label": "Daily calories",
          "unit": "kcal optional",
          "defaultValue": 2400,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Used to show protein calorie share."
        }
      ],
      "defaultState": {
        "bodyWeightKg": 80,
        "proteinGramsPerKg": 1.8,
        "mealsPerDay": 4,
        "calories": 2400
      },
      "outputLabel": "Daily protein target",
      "outputUnit": "grams per day",
      "assumptions": [
        "Protein target is user-selected.",
        "Does not diagnose medical, kidney, sports or dietetic needs.",
        "Meal split is a planning guide only."
      ],
      "workedExample": "80 kg at 1.8 g/kg gives 144 g protein per day, or 36 g across 4 meals.",
      "keywords": [
        "protein intake calculator",
        "protein intake calculator formula",
        "online protein intake calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "protein",
        "intake"
      ]
    },
    {
      "slug": "pythagorean-theorem-calculator",
      "name": "Pythagorean Theorem Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/pythagorean-theorem-calculator/",
      "category": "Math & Geometry",
      "status": "live",
      "description": "Find the hypotenuse of a right triangle from two legs, with square-sum proof, optional check length and a printable classroom or layout record.",
      "directAnswer": "For a right triangle with legs 3 and 4, the hypotenuse is 5. This calculator squares each leg, adds the squares, then takes the square root. It also compares an optional measured diagonal so layout or homework checks stay visible.",
      "formulaText": "Hypotenuse c = √(a² + b²). Square check: c² = a² + b². Optional difference = measured hypotenuse − calculated hypotenuse.",
      "formulaLatex": "a^{2} + b^{2} = c^{2}",
      "inputs": [
        {
          "key": "legA",
          "label": "Leg a",
          "unit": "units",
          "defaultValue": 3,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "One perpendicular side of the right triangle."
        },
        {
          "key": "legB",
          "label": "Leg b",
          "unit": "units",
          "defaultValue": 4,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "The other perpendicular side of the right triangle."
        },
        {
          "key": "checkHypotenuse",
          "label": "Optional measured hypotenuse",
          "unit": "units",
          "defaultValue": 5,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Enter a measured diagonal to compare against the calculated hypotenuse, or leave 0 for no check."
        },
        {
          "key": "roundTo",
          "label": "Round display to",
          "unit": "decimal places",
          "defaultValue": 3,
          "min": 0,
          "max": 8,
          "step": 1,
          "help": "Controls display rounding only; the formula uses full precision."
        }
      ],
      "defaultState": {
        "legA": 3,
        "legB": 4,
        "checkHypotenuse": 5,
        "roundTo": 3
      },
      "outputLabel": "Hypotenuse",
      "outputUnit": "diagonal length",
      "assumptions": [
        "The triangle is a right triangle: leg a and leg b meet at a 90° angle.",
        "Both legs use the same unit. Do not mix inches and centimetres without converting first.",
        "The optional measured hypotenuse is a comparison line, not an input to the theorem result.",
        "Rounding affects the displayed answer only; keep more precision for layout, machining, engineering or assessed work."
      ],
      "workedExample": "For legs 3 and 4: a² + b² = 3² + 4² = 9 + 16 = 25. The square root of 25 is 5, so the hypotenuse is 5 units.",
      "keywords": [
        "pythagorean theorem calculator",
        "pythagorean theorem calculator formula",
        "online pythagorean theorem calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "pythagorean",
        "theorem"
      ]
    },
    {
      "slug": "quadratic-formula-calculator",
      "name": "Quadratic Formula Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/quadratic-formula-calculator/",
      "category": "Core Mathematics",
      "status": "live",
      "description": "Solve ax^2 + bx + c = 0 with the quadratic formula, discriminant, roots, vertex check and printable working.",
      "directAnswer": "For a = 1, b = -3 and c = 2, the discriminant is 1 and the roots are x = 2 and x = 1. The page shows the discriminant, quadratic formula, roots and vertex check together.",
      "formulaText": "x = (-b ± √(b² - 4ac)) ÷ 2a. Discriminant D = b² - 4ac. Vertex x-coordinate = -b ÷ 2a.",
      "formulaLatex": "x = (-b \\\\pm \\\\sqrt{b^{2} - 4ac}) / 2a",
      "inputs": [
        {
          "key": "a",
          "label": "a coefficient",
          "unit": null,
          "defaultValue": 1,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "The coefficient on x^2. Use a nonzero value for a true quadratic."
        },
        {
          "key": "b",
          "label": "b coefficient",
          "unit": null,
          "defaultValue": -3,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "The coefficient on x."
        },
        {
          "key": "c",
          "label": "c coefficient",
          "unit": null,
          "defaultValue": 2,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "The constant term."
        },
        {
          "key": "decimalPlaces",
          "label": "Decimal places",
          "unit": null,
          "defaultValue": 4,
          "min": 0,
          "max": 8,
          "step": 1,
          "help": "Controls displayed rounding for roots and checks."
        }
      ],
      "defaultState": {
        "a": 1,
        "b": -3,
        "c": 2,
        "decimalPlaces": 4
      },
      "outputLabel": "Roots",
      "outputUnit": "x values",
      "assumptions": [
        "Inputs are numeric coefficients in ax² + bx + c = 0.",
        "If a is zero, the page falls back to the linear equation bx + c = 0.",
        "Negative discriminants are shown as complex conjugate roots.",
        "Displayed roots are rounded; formula steps keep the coefficient trail visible."
      ],
      "workedExample": "For x² - 3x + 2 = 0, D = (-3)² - 4(1)(2) = 1. Roots are (3 ± 1) ÷ 2, so x = 2 or x = 1.",
      "keywords": [
        "quadratic formula calculator",
        "quadratic formula calculator formula",
        "online quadratic formula calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "quadratic",
        "formula"
      ]
    },
    {
      "slug": "random-number-generator-calculator",
      "name": "Random Number Generator Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/random-number-generator-calculator/",
      "category": "Math & Statistics",
      "status": "live",
      "description": "Generate a reproducible pseudo-random number between two limits, with optional integer mode, seed, draw count and range-size proof.",
      "directAnswer": "The random number generator maps a numeric seed into a repeatable pseudo-random fraction, then scales that fraction into the selected minimum-to-maximum range.",
      "formulaText": "Random fraction = seeded pseudo-random value in [0, 1). Decimal result = minimum + fraction × (maximum − minimum). Integer result = floor(minimum + fraction × (maximum − minimum + 1)).",
      "formulaLatex": "Random integer = floor(random() \\\\times (max - min + 1)) + min",
      "inputs": [
        {
          "key": "minimum",
          "label": "Minimum",
          "unit": null,
          "defaultValue": 1,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Smallest allowed value in the draw range."
        },
        {
          "key": "maximum",
          "label": "Maximum",
          "unit": null,
          "defaultValue": 100,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Largest allowed value in the draw range."
        },
        {
          "key": "seed",
          "label": "Seed",
          "unit": null,
          "defaultValue": 20260620,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use the same seed to reproduce the same result for audits, classroom examples or draws."
        },
        {
          "key": "drawCount",
          "label": "Draw count",
          "unit": null,
          "defaultValue": 1,
          "min": 1,
          "max": 1000,
          "step": 1,
          "help": "Number of reproducible draws to summarise."
        },
        {
          "key": "integerMode",
          "label": "Integer mode",
          "unit": null,
          "defaultValue": 1,
          "min": 0,
          "max": 1,
          "step": 1,
          "help": "Choose whole-number draws or decimal draws."
        }
      ],
      "defaultState": {
        "minimum": 1,
        "maximum": 100,
        "seed": 20260620,
        "drawCount": 1,
        "integerMode": 1
      },
      "outputLabel": "First generated value",
      "outputUnit": "reproducible pseudo-random draw",
      "assumptions": [
        "The generator is deterministic for transparency and testing.",
        "This page is not suitable for cryptography, gambling, lotteries or security-sensitive randomness.",
        "Integer mode treats both endpoints as possible results."
      ],
      "workedExample": "For a 1 to 100 whole-number range, the seeded fraction is scaled across 100 possible integer outcomes, then floored to a visible draw.",
      "keywords": [
        "random number generator",
        "random number generator formula",
        "random number generator calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "random",
        "number"
      ]
    },
    {
      "slug": "ratio-calculator",
      "name": "Ratio Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/ratio-calculator/",
      "category": "Math",
      "status": "live",
      "description": "Simplify two-number ratios, scale them to a new total, and show part-to-part and part-to-whole percentages with a printable worksheet record.",
      "directAnswer": "A ratio of 12 to 18 simplifies to 2:3. This calculator divides both parts by their greatest common divisor when whole-number inputs are used, then shows the same relationship as percentages and as scaled parts of a chosen total.",
      "formulaText": "Simplified ratio = first value ÷ common factor : second value ÷ common factor. Part share = part ÷ (first value + second value) × 100. Scaled part = target total × part share.",
      "formulaLatex": "Equivalent ratio = a / b = c / d",
      "inputs": [
        {
          "key": "firstValue",
          "label": "First value",
          "unit": null,
          "defaultValue": 12,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "The first part of the ratio."
        },
        {
          "key": "secondValue",
          "label": "Second value",
          "unit": null,
          "defaultValue": 18,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "The second part of the ratio."
        },
        {
          "key": "targetTotal",
          "label": "Scale to total",
          "unit": "optional",
          "defaultValue": 100,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Optional combined total for scaling the same ratio."
        }
      ],
      "defaultState": {
        "firstValue": 12,
        "secondValue": 18,
        "targetTotal": 100
      },
      "outputLabel": "Simplified ratio",
      "outputUnit": "ratio",
      "assumptions": [
        "Both ratio parts are treated as non-negative quantities.",
        "Whole-number values are simplified by their greatest common divisor; decimal values are reduced by decimal-place scaling before the same idea is applied.",
        "If both parts are zero, the ratio is undefined because there is no total relationship to compare.",
        "The optional target total scales the same relationship; it does not change the ratio itself."
      ],
      "workedExample": "For 12 and 18, the greatest common divisor is 6. Divide both parts by 6: 12 ÷ 6 = 2 and 18 ÷ 6 = 3, so the simplified ratio is 2:3. The total parts are 5, so the first share is 40% and the second share is 60%. Scaled to 100, the parts are 40 and 60.",
      "keywords": [
        "ratio calculator",
        "ratio calculator formula",
        "online ratio calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "ratio",
        "calculator"
      ]
    },
    {
      "slug": "rent-calculator",
      "name": "Rent Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/rent-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Rent Calculator estimates total monthly rent burden from rent, utilities, renters insurance and income.",
      "directAnswer": "Rent Calculator adds base rent and recurring occupancy costs, then compares the monthly total with income and a target rent percentage.",
      "formulaText": "Total monthly housing = rent + utilities + renters insurance. Rent share = total monthly housing ÷ monthly income. Target rent = monthly income × target percentage − utilities − insurance.",
      "formulaLatex": "Monthly rent = weekly rent \\times 52 / 12",
      "inputs": [
        {
          "key": "monthlyIncome",
          "label": "Monthly income",
          "unit": "currency",
          "defaultValue": 5500,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Gross or take-home monthly income, as long as you use it consistently."
        },
        {
          "key": "monthlyRent",
          "label": "Monthly rent",
          "unit": "currency",
          "defaultValue": 1650,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Base rent due each month."
        },
        {
          "key": "utilities",
          "label": "Utilities",
          "unit": "monthly currency",
          "defaultValue": 220,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Estimated power, water, internet or other recurring occupancy costs."
        },
        {
          "key": "rentersInsurance",
          "label": "Renters insurance",
          "unit": "monthly currency optional",
          "defaultValue": 25,
          "min": 0,
          "max": null,
          "step": 5,
          "help": "Optional monthly renters/content insurance."
        },
        {
          "key": "targetRentPercent",
          "label": "Target housing share",
          "unit": "percent",
          "defaultValue": 30,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Target share of income for rent plus utilities/insurance."
        }
      ],
      "defaultState": {
        "monthlyIncome": 5500,
        "monthlyRent": 1650,
        "utilities": 220,
        "rentersInsurance": 25,
        "targetRentPercent": 30
      },
      "outputLabel": "Total monthly rent cost",
      "outputUnit": "monthly currency and income share",
      "assumptions": [
        "Income can be gross or take-home, but should be consistent with the user’s budget method.",
        "One-off moving costs, deposits, furnishing, parking and rent increases are not included.",
        "The target percentage is a planning threshold, not a rule."
      ],
      "workedExample": "With 5,500 monthly income, 1,650 rent, 220 utilities and 25 insurance, total monthly housing is 1,895 and the income share is about 34.5%.",
      "keywords": [
        "rent calculator",
        "rent calculator formula",
        "online rent calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "rent",
        "calculator"
      ]
    },
    {
      "slug": "rent-vs-buy-calculator",
      "name": "Rent vs Buy Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/rent-vs-buy-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Rent vs Buy Calculator compares multi-year renting cash outflow with buying cash outflow before resale value, appreciation or equity effects.",
      "directAnswer": "Rent vs Buy Calculator compares rent cash outflow against down payment plus monthly ownership cash outflow over the selected period.",
      "formulaText": "Rent total sums monthly rent with annual increases. Buy total = down payment + (mortgage payment + taxes/insurance + maintenance) × comparison months. Cash gap = buy total − rent total.",
      "formulaLatex": "Net advantage = total renting cost - total buying cost over comparison period",
      "inputs": [
        {
          "key": "monthlyRent",
          "label": "Current monthly rent",
          "unit": "currency",
          "defaultValue": 1800,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Rent paid at the start of the comparison."
        },
        {
          "key": "rentIncreasePercent",
          "label": "Annual rent increase",
          "unit": "percent",
          "defaultValue": 3,
          "min": -20,
          "max": null,
          "step": 0.25,
          "help": "Estimated yearly rent change during the comparison period."
        },
        {
          "key": "homePrice",
          "label": "Home price",
          "unit": "currency",
          "defaultValue": 500000,
          "min": 0,
          "max": null,
          "step": 1000,
          "help": "Purchase price for the buying scenario."
        },
        {
          "key": "downPayment",
          "label": "Down payment",
          "unit": "currency",
          "defaultValue": 80000,
          "min": 0,
          "max": null,
          "step": 1000,
          "help": "Cash paid upfront for the buying scenario."
        },
        {
          "key": "annualRate",
          "label": "Mortgage rate",
          "unit": "percent",
          "defaultValue": 6.5,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Fixed mortgage rate for the buying scenario."
        },
        {
          "key": "termYears",
          "label": "Mortgage term",
          "unit": "years",
          "defaultValue": 30,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Mortgage repayment term."
        },
        {
          "key": "monthlyTaxesInsurance",
          "label": "Taxes and insurance",
          "unit": "monthly currency",
          "defaultValue": 650,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Estimated monthly property tax, insurance and HOA/strata costs."
        },
        {
          "key": "monthlyMaintenance",
          "label": "Maintenance allowance",
          "unit": "monthly currency",
          "defaultValue": 250,
          "min": 0,
          "max": null,
          "step": 25,
          "help": "Estimated monthly ownership maintenance allowance."
        },
        {
          "key": "compareYears",
          "label": "Compare period",
          "unit": "years",
          "defaultValue": 5,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Number of years to compare renting and buying cash outflow."
        }
      ],
      "defaultState": {
        "monthlyRent": 1800,
        "rentIncreasePercent": 3,
        "homePrice": 500000,
        "downPayment": 80000,
        "annualRate": 6.5,
        "termYears": 30,
        "monthlyTaxesInsurance": 650,
        "monthlyMaintenance": 250,
        "compareYears": 5
      },
      "outputLabel": "Buy cash gap before resale",
      "outputUnit": "currency difference",
      "assumptions": [
        "The result compares cash outflow before resale value, equity, appreciation, selling costs, tax effects or investment returns on the down payment.",
        "Mortgage payments use a fixed-rate monthly amortisation formula.",
        "Ownership costs are simple monthly estimates.",
        "Rent increases are applied annually."
      ],
      "workedExample": "At 1,800 monthly rent with 3% annual increases, the rent total over 5 years is compared with an 80,000 down payment plus mortgage and ownership costs for a 500,000 home.",
      "keywords": [
        "rent vs buy calculator",
        "rent vs buy calculator formula",
        "online rent vs buy calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "rent",
        "vs"
      ]
    },
    {
      "slug": "repayment-calculator",
      "name": "Repayment Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/repayment-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Estimate a scheduled loan repayment, total interest, and the payoff impact of optional extra monthly payments.",
      "directAnswer": "Enter principal, annual rate, term and optional extra payment to see the scheduled repayment, total interest, payoff time and estimated interest saved.",
      "formulaText": "Monthly payment = P × r(1+r)^n ÷ ((1+r)^n − 1), where P is principal, r is the monthly interest rate and n is the number of monthly payments. If the interest rate is 0%, payment = P ÷ n.",
      "formulaLatex": "Payment = P r (1 + r)^{n} / ((1 + r)^{n} - 1)",
      "inputs": [
        {
          "key": "principal",
          "label": "Loan amount",
          "unit": "currency",
          "defaultValue": 250000,
          "min": 0,
          "max": null,
          "step": 1000,
          "help": "The amount borrowed before interest. Use the same currency for all money fields."
        },
        {
          "key": "annualRate",
          "label": "Annual interest rate",
          "unit": "percent",
          "defaultValue": 6.5,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Nominal annual rate used for the monthly payment estimate."
        },
        {
          "key": "termYears",
          "label": "Loan term",
          "unit": "years",
          "defaultValue": 30,
          "min": 0.01,
          "max": null,
          "step": 1,
          "help": "Total repayment term in years."
        },
        {
          "key": "extraMonthlyPayment",
          "label": "Extra monthly payment",
          "unit": "optional currency",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Optional extra amount added to the scheduled payment for payoff modelling."
        }
      ],
      "defaultState": {
        "principal": 250000,
        "annualRate": 6.5,
        "termYears": 30,
        "extraMonthlyPayment": 0
      },
      "outputLabel": "Scheduled repayment",
      "outputUnit": "currency per month",
      "assumptions": [
        "The loan uses a fixed annual interest rate converted to a monthly rate.",
        "Payments are made monthly and evenly across the term.",
        "Taxes, insurance, establishment fees, service fees, early-repayment penalties and variable-rate changes are not included.",
        "The extra monthly payment estimate assumes the lender applies the extra amount directly to principal without penalty."
      ],
      "workedExample": "For a 250,000 loan at 6.5% over 30 years, the monthly rate is 0.065 ÷ 12 and the term is 360 payments. Substituting those values gives a scheduled payment of about 1,580.17 per month, with total scheduled repayment of about 568,861.22.",
      "keywords": [
        "repayment calculator",
        "repayment calculator formula",
        "online repayment calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "repayment",
        "calculator"
      ]
    },
    {
      "slug": "retirement-calculator",
      "name": "Retirement Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/retirement-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Project a retirement nest egg from current savings and monthly contributions, then estimate sustainable monthly drawdown against an income target.",
      "directAnswer": "Enter current savings, monthly contributions, years to retirement, return assumption, drawdown period and desired monthly income to estimate nest egg and income gap.",
      "formulaText": "Nest egg = current savings × (1 + monthly return)^months + contribution × (((1 + monthly return)^months − 1) ÷ monthly return). Sustainable monthly drawdown = nest egg × monthly return ÷ (1 − (1 + monthly return)^−drawdown months).",
      "formulaLatex": "FV = P(1 + r/n)^{nt} + contributions",
      "inputs": [
        {
          "key": "currentSavings",
          "label": "Current retirement savings",
          "unit": "currency",
          "defaultValue": 75000,
          "min": 0,
          "max": null,
          "step": 1000,
          "help": "Retirement balance already saved today."
        },
        {
          "key": "monthlyContribution",
          "label": "Monthly contribution",
          "unit": "currency",
          "defaultValue": 750,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Regular monthly contribution before retirement."
        },
        {
          "key": "yearsToRetirement",
          "label": "Years to retirement",
          "unit": "years",
          "defaultValue": 25,
          "min": 0,
          "max": null,
          "step": 0.5,
          "help": "Time remaining until retirement starts."
        },
        {
          "key": "annualReturn",
          "label": "Annual return assumption",
          "unit": "%",
          "defaultValue": 6,
          "min": -50,
          "max": 100,
          "step": 0.1,
          "help": "Planning return used before and during drawdown."
        },
        {
          "key": "retirementYears",
          "label": "Retirement drawdown period",
          "unit": "years",
          "defaultValue": 25,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "How many years the nest egg is modelled to support withdrawals."
        },
        {
          "key": "desiredMonthlyIncome",
          "label": "Desired monthly income",
          "unit": "currency",
          "defaultValue": 4000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Monthly retirement income target for the gap check."
        }
      ],
      "defaultState": {
        "currentSavings": 75000,
        "monthlyContribution": 750,
        "yearsToRetirement": 25,
        "annualReturn": 6,
        "retirementYears": 25,
        "desiredMonthlyIncome": 4000
      },
      "outputLabel": "Projected nest egg",
      "outputUnit": "retirement balance and monthly drawdown check",
      "assumptions": [
        "The annual return is a planning assumption, not a guaranteed investment result.",
        "Contributions are treated as equal end-of-month deposits until retirement.",
        "The same monthly return assumption is used for the drawdown estimate.",
        "Inflation, tax, pension rules, superannuation rules, fees, sequence risk and changing returns are excluded.",
        "This is educational arithmetic only, not financial advice."
      ],
      "workedExample": "With 75,000 saved, 750 contributed monthly for 25 years and a 6% annual return, the projected nest egg is about 702,688. A 25-year drawdown at the same return supports about 4,527 per month before tax, fees and inflation.",
      "keywords": [
        "retirement calculator",
        "retirement calculator formula",
        "online retirement calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "retirement",
        "calculator"
      ]
    },
    {
      "slug": "roi-calculator",
      "name": "ROI Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/roi-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Calculate return on investment from amount invested, final value, extra costs and optional time held, with a printable investment comparison record.",
      "directAnswer": "Enter initial investment, final value, costs and years held to calculate net gain, ROI percentage and annualized return estimate.",
      "formulaText": "Net gain = final value − initial investment − extra costs. ROI = (net gain ÷ initial investment) × 100. Annualised ROI estimate = ((final value − extra costs) ÷ initial investment)^(1 ÷ years held) − 1.",
      "formulaLatex": "ROI = (gain - cost) / cost \\\\times 100",
      "inputs": [
        {
          "key": "initialInvestment",
          "label": "Initial investment",
          "unit": null,
          "defaultValue": 1000,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Money committed at the start."
        },
        {
          "key": "finalValue",
          "label": "Final value or proceeds",
          "unit": null,
          "defaultValue": 1250,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Current value or sale proceeds before optional costs."
        },
        {
          "key": "extraCosts",
          "label": "Fees and extra costs",
          "unit": null,
          "defaultValue": 25,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Brokerage, platform fees, materials, delivery or other directly related costs."
        },
        {
          "key": "yearsHeld",
          "label": "Years held",
          "unit": "optional",
          "defaultValue": 1,
          "min": 0.01,
          "max": null,
          "step": 0.01,
          "help": "Used only for the annualised ROI estimate."
        }
      ],
      "defaultState": {
        "initialInvestment": 1000,
        "finalValue": 1250,
        "extraCosts": 25,
        "yearsHeld": 1
      },
      "outputLabel": "Return on investment",
      "outputUnit": "percent",
      "assumptions": [
        "Initial investment is the denominator for the ROI percentage.",
        "Extra costs reduce the net gain before ROI is calculated.",
        "The annualised estimate assumes one start value, one end value and a constant compound rate across the entered holding period.",
        "Taxes, inflation, risk, timing of cash flows, dividends and reinvestment rules are not included unless they are already reflected in the entered values.",
        "This is arithmetic for comparison and reporting, not financial advice."
      ],
      "workedExample": "Initial investment 1,000 and final value 1,250 gives a gross gain of 250. Subtract 25 of fees and costs to get a net gain of 225. ROI = 225 ÷ 1,000 × 100 = 22.5%. Over one year, the annualised estimate is also 22.5%.",
      "keywords": [
        "roi calculator",
        "roi calculator formula",
        "online roi calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "roi",
        "calculator"
      ]
    },
    {
      "slug": "salary-calculator",
      "name": "Salary Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/salary-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Convert annual salary into monthly, biweekly, weekly, daily and hourly equivalents, with a printable job-offer worksheet.",
      "directAnswer": "A salary calculator divides annual gross salary by the chosen pay-period, week, day and hour denominators. This page keeps the paid weeks, weekly hours and unpaid-hours comparison visible so a job offer, pay review or classroom worksheet can be printed and checked.",
      "formulaText": "Monthly gross = annual salary ÷ 12. Pay-period gross = annual salary ÷ pay periods per year. Weekly gross = annual salary ÷ paid weeks per year. Daily gross = weekly gross ÷ work days per week. Hourly gross = annual salary ÷ (paid weeks per year × paid hours per week). Practical hourly comparison = annual salary ÷ (paid weeks per year × (paid hours per week + extra unpaid hours per week)).",
      "formulaLatex": "Net pay = gross pay - taxes - deductions",
      "inputs": [
        {
          "key": "annualSalary",
          "label": "Annual salary",
          "unit": "$/year",
          "defaultValue": 72000,
          "min": 0,
          "max": null,
          "step": 500,
          "help": "Enter gross annual salary before tax, superannuation, benefits, deductions or reimbursements."
        },
        {
          "key": "paidWeeksPerYear",
          "label": "Paid weeks per year",
          "unit": "weeks",
          "defaultValue": 52,
          "min": 1,
          "max": 53,
          "step": 1,
          "help": "Use 52 for a full paid year, or a contract-specific number when comparing partial-year work."
        },
        {
          "key": "workDaysPerWeek",
          "label": "Work days per week",
          "unit": "days",
          "defaultValue": 5,
          "min": 1,
          "max": 7,
          "step": 0.5,
          "help": "Used for gross daily equivalent and printable job-offer notes."
        },
        {
          "key": "paidHoursPerWeek",
          "label": "Paid hours per week",
          "unit": "h/week",
          "defaultValue": 40,
          "min": 0.1,
          "max": null,
          "step": 0.5,
          "help": "The visible hour denominator for the headline hourly equivalent."
        },
        {
          "key": "extraUnpaidHoursPerWeek",
          "label": "Extra unpaid hours",
          "unit": "h/week",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 0.5,
          "help": "Optional comparison for unpaid overtime, travel, handover, admin or expected availability."
        },
        {
          "key": "payPeriodsPerYear",
          "label": "Pay periods per year",
          "unit": "periods",
          "defaultValue": 26,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Use 26 for biweekly, 24 for semi-monthly, 12 for monthly or the employer’s actual schedule."
        },
        {
          "key": "roundingIncrementHourly",
          "label": "Hourly rounding increment",
          "unit": "$/h",
          "defaultValue": 0.01,
          "min": 0.01,
          "max": null,
          "step": 0.01,
          "help": "Use cents for pay review notes, or a larger increment for quick comparisons."
        }
      ],
      "defaultState": {
        "annualSalary": 72000,
        "paidWeeksPerYear": 52,
        "workDaysPerWeek": 5,
        "paidHoursPerWeek": 40,
        "extraUnpaidHoursPerWeek": 0,
        "payPeriodsPerYear": 26,
        "roundingIncrementHourly": 0.01
      },
      "outputLabel": "Salary equivalents",
      "outputUnit": "gross monthly, pay-period, weekly, daily and hourly equivalents with unpaid-hours comparison",
      "assumptions": [
        "All outputs are gross equivalents before income tax, payroll deductions, benefits, superannuation, retirement contributions, allowances, reimbursements or currency conversion.",
        "Paid weeks, work days, weekly hours and pay periods are user-entered assumptions; contracts, awards, salary-sacrifice arrangements and local payroll calendars can use different denominators.",
        "Extra unpaid hours are shown as a comparison only so expected overtime or availability does not silently hide inside the headline salary.",
        "Rounding affects the displayed hourly equivalent; exact monthly, pay-period, weekly and daily calculations remain visible for audit.",
        "This is pay-comparison arithmetic, not legal, tax, immigration, benefits or payroll compliance advice."
      ],
      "workedExample": "For a $72,000 annual salary over 52 paid weeks and 40 paid hours per week, weekly gross is $72,000 ÷ 52 = $1,384.62. Hourly gross is $72,000 ÷ (52 × 40) = $34.62/hour. With 26 pay periods, each gross biweekly period is $2,769.23.",
      "keywords": [
        "salary calculator",
        "salary calculator formula",
        "online salary calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "salary",
        "calculator"
      ]
    },
    {
      "slug": "sales-tax-calculator",
      "name": "Sales Tax Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/sales-tax-calculator/",
      "category": "Finance & Money",
      "status": "planned",
      "description": "Calculate sales tax, discount, shipping and final checkout total from a subtotal and tax rate, with the tax kept separate.",
      "directAnswer": "A 100 subtotal with a 10% discount and 8.25% sales tax gives a taxable amount of 90.00, sales tax of 7.43 and a final total of 97.43 before any optional shipping or fixed fee. The calculator keeps discount, tax and final total separate.",
      "formulaText": "Discount amount = subtotal × discount percent ÷ 100. Taxable amount = subtotal − discount amount. Sales tax = taxable amount × tax rate ÷ 100. Final total = taxable amount + sales tax + shipping or fixed fee.",
      "formulaLatex": "Tax = taxable amount \\times sales tax rate / 100",
      "inputs": [
        {
          "key": "subtotal",
          "label": "Subtotal before discount and tax",
          "unit": "currency",
          "defaultValue": 100,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Enter the item or order subtotal before sales tax."
        },
        {
          "key": "discountPercent",
          "label": "Discount before tax",
          "unit": "percent",
          "defaultValue": 10,
          "min": 0,
          "max": null,
          "step": 0.1,
          "help": "Use 0 if there is no coupon or pre-tax discount."
        },
        {
          "key": "taxRate",
          "label": "Sales tax rate",
          "unit": "percent",
          "defaultValue": 8.25,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Enter the combined state, local or checkout sales tax rate you need to test."
        },
        {
          "key": "shipping",
          "label": "Shipping or fixed fee",
          "unit": "currency",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Optional. Add delivery, handling or another fixed amount after tax."
        }
      ],
      "defaultState": {
        "subtotal": 100,
        "discountPercent": 10,
        "taxRate": 8.25,
        "shipping": 0
      },
      "outputLabel": "Final total",
      "outputUnit": "currency total with sales tax shown separately",
      "assumptions": [
        "The discount is applied before sales tax because that is common checkout arithmetic; local rules and invoices can differ.",
        "The entered tax rate should be the combined rate you actually want to test, including any state, city, county or special local rate where relevant.",
        "Shipping or fixed fees are added after the tax calculation on this page. Some jurisdictions tax delivery charges differently, so formal invoices should follow the applicable rule.",
        "This is arithmetic for estimates, quotes and receipt checks, not tax, legal or accounting advice."
      ],
      "workedExample": "Subtotal 100 with a 10% discount gives 10.00 off and a taxable amount of 90.00. At 8.25%, sales tax is 90.00 × 0.0825 = 7.425, rounded to 7.43 for money display. Final total = 90.00 + 7.43 + 0.00 = 97.43.",
      "keywords": [
        "sales tax calculator",
        "sales tax calculator formula",
        "online sales tax calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "sales",
        "tax"
      ]
    },
    {
      "slug": "savings-calculator",
      "name": "Savings Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/savings-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Estimate the monthly saving needed to reach a goal from current savings, time to goal and optional interest rate.",
      "directAnswer": "Enter a savings goal, current savings, months and annual rate to see the required monthly saving and a cash-only comparison.",
      "formulaText": "Monthly saving = (goal − current savings × (1 + monthly rate)^months) × monthly rate ÷ ((1 + monthly rate)^months − 1). If the rate is 0, monthly saving = (goal − current savings) ÷ months.",
      "formulaLatex": "FV = P(1 + r/n)^{nt} + contributions",
      "inputs": [
        {
          "key": "goalAmount",
          "label": "Goal amount",
          "unit": null,
          "defaultValue": 10000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "The target amount you want available at the end."
        },
        {
          "key": "currentSavings",
          "label": "Current savings",
          "unit": null,
          "defaultValue": 1500,
          "min": 0,
          "max": null,
          "step": 100,
          "help": "Money already set aside for this goal."
        },
        {
          "key": "months",
          "label": "Time to goal",
          "unit": "months",
          "defaultValue": 24,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Whole months until the target date."
        },
        {
          "key": "annualRate",
          "label": "Annual interest rate",
          "unit": "percent",
          "defaultValue": 3.5,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Optional estimated annual rate, compounded monthly."
        }
      ],
      "defaultState": {
        "goalAmount": 10000,
        "currentSavings": 1500,
        "months": 24,
        "annualRate": 3.5
      },
      "outputLabel": "Monthly saving needed",
      "outputUnit": "per month",
      "assumptions": [
        "Savings contributions are treated as equal monthly end-of-month deposits.",
        "Interest is estimated with monthly compounding from the entered annual rate.",
        "The result is before tax, fees, inflation, bonus interest conditions or account limits.",
        "If current savings can already reach the goal under the assumptions, the required monthly saving is shown as zero.",
        "This is planning arithmetic only, not financial advice."
      ],
      "workedExample": "Goal 10,000, current savings 1,500, 24 months and 3.5% annual interest gives a monthly rate of 0.035 ÷ 12. Current savings grow to about 1,608.83. The remaining future value is 8,391.17, so the equal monthly deposit is about 338.06.",
      "keywords": [
        "savings calculator",
        "savings calculator formula",
        "online savings calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "savings",
        "calculator"
      ]
    },
    {
      "slug": "scientific-calculator",
      "name": "Scientific Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/scientific-calculator/",
      "category": "Core Mathematics",
      "status": "listed",
      "description": "Core Mathematics preview: enter the core inputs and inspect the working",
      "directAnswer": "Core Mathematics preview: enter the core inputs and inspect the working",
      "formulaText": "Result = selected scientific function(expression)",
      "formulaLatex": "Result = selected scientific function(expression)",
      "inputs": [],
      "defaultState": {},
      "outputLabel": null,
      "outputUnit": null,
      "assumptions": [],
      "workedExample": null,
      "keywords": [
        "scientific calculator",
        "scientific calculator formula",
        "online scientific calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "scientific",
        "calculator"
      ]
    },
    {
      "slug": "seasons-and-solstices-calculator",
      "name": "Seasons and Solstices Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/seasons-and-solstices-calculator/",
      "category": "Astronomy & Sky",
      "status": "live",
      "description": "Calculate the exact equinox or solstice instant for a year with UTC and observer-local civil time.",
      "directAnswer": "The seasons and solstices calculator uses Astronomy Engine Seasons(year) to calculate the selected equinox or solstice instant, then names the corresponding season for the chosen hemisphere.",
      "formulaText": "Astronomy.Seasons(year) returns mar_equinox, jun_solstice, sep_equinox and dec_solstice as AstroTime values. The selected AstroTime date is displayed in UTC and shifted by the entered UTC offset for observer-local civil time.",
      "formulaLatex": "Season instant = Astronomy.Seasons(year)[selected equinox or solstice]",
      "inputs": [
        {
          "key": "year",
          "label": "Year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1900,
          "max": 2100,
          "step": 1,
          "help": null
        },
        {
          "key": "eventCode",
          "label": "Season event",
          "unit": null,
          "defaultValue": 1,
          "min": 1,
          "max": 4,
          "step": 1,
          "help": null
        },
        {
          "key": "hemisphereCode",
          "label": "Hemisphere",
          "unit": null,
          "defaultValue": 2,
          "min": 1,
          "max": 2,
          "step": 1,
          "help": null
        },
        {
          "key": "timezoneOffset",
          "label": "UTC offset",
          "unit": "hours",
          "defaultValue": 10,
          "min": -12,
          "max": 14,
          "step": 0.5,
          "help": "Used only to show the observer-local civil date/time beside the exact UTC instant."
        }
      ],
      "defaultState": {
        "year": 2026,
        "eventCode": 1,
        "hemisphereCode": 2,
        "timezoneOffset": 10
      },
      "outputLabel": "Astronomical event instant",
      "outputUnit": "UTC instant with observer-local civil time",
      "assumptions": [
        "Astronomical event instants are calculated in UTC using Astronomy Engine.",
        "The UTC offset shifts the displayed local civil time; it is not an IANA timezone or daylight-saving database.",
        "Northern and Southern Hemisphere season labels are opposite for solstices and equinoxes."
      ],
      "workedExample": "For 2026 in the Southern Hemisphere, the June solstice is calculated from Astronomy.Seasons(2026) and marks the start of winter by the astronomical-season convention.",
      "keywords": [
        "seasons and solstices calculator",
        "seasons and solstices calculator formula",
        "online seasons and solstices calculator",
        "sun/moon/astronomy calculator",
        "transparent calculator",
        "calculationtime",
        "seasons",
        "and"
      ]
    },
    {
      "slug": "simple-interest-calculator",
      "name": "Simple Interest Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/simple-interest-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Calculate simple interest, total repayment and effective yearly interest from principal, rate and time.",
      "directAnswer": "On a principal of 1,000 at 6% simple interest for 3 years, the interest is 180 and the total before optional fees is 1,180. Simple interest multiplies the original principal by the annual rate and time; it does not add interest-on-interest.",
      "formulaText": "Simple interest = principal × annual rate × time. Use the annual rate as a decimal, so 6% becomes 0.06. Total amount = principal + simple interest + optional fixed fees.",
      "formulaLatex": "Interest = principal \\\\times rate \\\\times time",
      "inputs": [
        {
          "key": "principal",
          "label": "Principal amount",
          "unit": null,
          "defaultValue": 1000,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "The starting balance, loan amount or deposit being checked."
        },
        {
          "key": "annualRate",
          "label": "Annual simple interest rate",
          "unit": "percent",
          "defaultValue": 6,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Enter the nominal yearly rate as a percentage."
        },
        {
          "key": "years",
          "label": "Time",
          "unit": "years",
          "defaultValue": 3,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Use decimal years for partial periods, such as 0.5 for six months."
        },
        {
          "key": "extraFees",
          "label": "Extra fees or charges",
          "unit": "optional",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Optional fixed fees to keep separate from the interest formula."
        }
      ],
      "defaultState": {
        "principal": 1000,
        "annualRate": 6,
        "years": 3,
        "extraFees": 0
      },
      "outputLabel": "Simple interest",
      "outputUnit": "currency amount",
      "assumptions": [
        "Interest is calculated only on the original principal, not on accumulated interest.",
        "The annual rate is entered as a percentage and converted to a decimal inside the formula.",
        "Time is entered in years; partial periods can be entered as decimals when that matches the agreement being checked.",
        "Fees are kept separate from interest so the printed report does not hide charges inside the rate.",
        "This is arithmetic for planning and checking. It is not financial, tax, lending or legal advice."
      ],
      "workedExample": "Principal 1,000 × 0.06 annual rate × 3 years = 180 simple interest. Add the principal back: 1,000 + 180 = 1,180 before any optional fixed fees.",
      "keywords": [
        "simple interest calculator",
        "simple interest calculator formula",
        "online simple interest calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "simple",
        "interest"
      ]
    },
    {
      "slug": "slope-calculator",
      "name": "Slope Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/slope-calculator/",
      "category": "Math & Statistics",
      "status": "live",
      "description": "Calculate the slope between two coordinate points, show the rise-over-run formula, flag vertical lines and print a clean classroom or drawing worksheet.",
      "directAnswer": "The slope between (2, 3) and (8, 15) is 2. The calculator subtracts the y-values for rise, subtracts the x-values for run, then divides rise by run. If the x-values match, the line is vertical and the slope is undefined.",
      "formulaText": "Slope m = (y₂ − y₁) ÷ (x₂ − x₁). Rise = y₂ − y₁. Run = x₂ − x₁. A zero run makes the slope undefined because division by zero is not valid.",
      "formulaLatex": "m = (y2 - y1) / (x2 - x1)",
      "inputs": [
        {
          "key": "x1",
          "label": "Point 1 x-coordinate",
          "unit": null,
          "defaultValue": 2,
          "min": null,
          "max": null,
          "step": 0.1,
          "help": "First point horizontal coordinate."
        },
        {
          "key": "y1",
          "label": "Point 1 y-coordinate",
          "unit": null,
          "defaultValue": 3,
          "min": null,
          "max": null,
          "step": 0.1,
          "help": "First point vertical coordinate."
        },
        {
          "key": "x2",
          "label": "Point 2 x-coordinate",
          "unit": null,
          "defaultValue": 8,
          "min": null,
          "max": null,
          "step": 0.1,
          "help": "Second point horizontal coordinate."
        },
        {
          "key": "y2",
          "label": "Point 2 y-coordinate",
          "unit": null,
          "defaultValue": 15,
          "min": null,
          "max": null,
          "step": 0.1,
          "help": "Second point vertical coordinate."
        }
      ],
      "defaultState": {
        "x1": 2,
        "y1": 3,
        "x2": 8,
        "y2": 15
      },
      "outputLabel": "Slope",
      "outputUnit": "rise per run",
      "assumptions": [
        "Coordinates use the same linear units on both axes unless your graph or drawing states a different scale.",
        "The result is the slope of the straight line through the two points, not a curve fit through many points.",
        "If x₂ equals x₁, the line is vertical and the slope is undefined rather than zero.",
        "If y₂ equals y₁ and the run is not zero, the line is horizontal and the slope is zero.",
        "Rounding is only for display; keep the exact rise and run when copying to homework, CAD notes or engineering checks."
      ],
      "workedExample": "For points (2, 3) and (8, 15), rise = 15 − 3 = 12 and run = 8 − 2 = 6. Slope = 12 ÷ 6 = 2, meaning the line rises 2 units for every 1 unit of horizontal run.",
      "keywords": [
        "slope calculator",
        "slope calculator formula",
        "online slope calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "slope",
        "calculator"
      ]
    },
    {
      "slug": "southern-cross-clock",
      "name": "Southern Cross Clock",
      "canonicalUrl": "https://www.calculationtime.com/calculators/southern-cross-clock/",
      "category": "Workshop Astronomy",
      "status": "listed",
      "description": "Location plus date -> sky/time event preview",
      "directAnswer": "Location plus date -> sky/time event preview",
      "formulaText": "Sky state = date + observer location + Sun/Moon/planet geometry",
      "formulaLatex": "Sky state = date + observer location + Sun/Moon/planet geometry",
      "inputs": [],
      "defaultState": {},
      "outputLabel": null,
      "outputUnit": null,
      "assumptions": [],
      "workedExample": null,
      "keywords": [
        "southern cross clock",
        "southern cross clock formula",
        "southern cross clock calculator",
        "workshop astronomy calculator",
        "transparent calculator",
        "calculationtime",
        "southern",
        "cross"
      ]
    },
    {
      "slug": "special-age-calculator",
      "name": "Special Age Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/special-age-calculator/",
      "category": "Date & Time",
      "status": "live",
      "description": "Find the calendar date when someone reaches a special age such as 18 years, 10,000 days or a custom years-months-days milestone.",
      "directAnswer": "Someone born on 15 June 1990 reached 18 years old on 15 June 2008. Change the milestone fields to check custom ages in years, months and days.",
      "formulaText": "Special age date = birth date + target years + target months + target days, with normal calendar rollover for month and day boundaries.",
      "formulaLatex": "Age = calendar difference between birth date and target date",
      "inputs": [
        {
          "key": "birthYear",
          "label": "Birth year",
          "unit": null,
          "defaultValue": 1990,
          "min": 1,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "birthMonth",
          "label": "Birth month",
          "unit": null,
          "defaultValue": 6,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "birthDay",
          "label": "Birth day",
          "unit": null,
          "defaultValue": 15,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        },
        {
          "key": "targetAgeYears",
          "label": "Target age years",
          "unit": null,
          "defaultValue": 18,
          "min": 0,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "targetAgeMonths",
          "label": "Target age months",
          "unit": null,
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "targetAgeDays",
          "label": "Target age days",
          "unit": null,
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "asOfYear",
          "label": "As-of year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "asOfMonth",
          "label": "As-of month",
          "unit": null,
          "defaultValue": 5,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "asOfDay",
          "label": "As-of day",
          "unit": null,
          "defaultValue": 16,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "birthYear": 1990,
        "birthMonth": 6,
        "birthDay": 15,
        "targetAgeYears": 18,
        "targetAgeMonths": 0,
        "targetAgeDays": 0,
        "asOfYear": 2026,
        "asOfMonth": 5,
        "asOfDay": 16
      },
      "outputLabel": "Special age date",
      "outputUnit": "date and weekday",
      "assumptions": [
        "The birth date and age-on date use the proleptic Gregorian calendar used by JavaScript Date for modern civil dates.",
        "The calculator counts completed calendar years first, then months and days; it does not round age upward before a birthday.",
        "Dates are compared at UTC midnight to avoid daylight-saving hour changes.",
        "For legal, medical, insurance or school eligibility decisions, check the exact local rule because some rules use inclusive counting or local cutoff times."
      ],
      "workedExample": "15 June 1990 plus 18 years is 15 June 2008. Compared with 16 May 2026, that milestone is already in the past.",
      "keywords": [
        "special age calculator",
        "special age calculator formula",
        "online special age calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "special",
        "age"
      ]
    },
    {
      "slug": "speed-unit-converter",
      "name": "Speed Unit Converter",
      "canonicalUrl": "https://www.calculationtime.com/calculators/speed-unit-converter/",
      "category": "Measurement & Unit Conversion",
      "status": "live",
      "description": "Convert miles per hour, kilometres per hour, metres per second and knots in one bidirectional speed-unit tool with exact distance-time proof and printable output.",
      "directAnswer": "A speed unit converter changes the distance unit while preserving the same time basis, so one survivor page is clearer than separate mph-to-km/h and km/h-to-mph pages.",
      "formulaText": "Convert the source speed to metres per second first, then divide by the target speed factor. m/s = value x sourceFactor; result = m/s ÷ targetFactor.",
      "formulaLatex": "m/s = value \\times sourceFactor; result = (m/s) \\div targetFactor",
      "inputs": [
        {
          "key": "value",
          "label": "Speed value",
          "unit": null,
          "defaultValue": 60,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Enter the speed reading from a road sign, vehicle, sport record, worksheet or instrument."
        },
        {
          "key": "fromUnitCode",
          "label": "From speed unit",
          "unit": null,
          "defaultValue": 38,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 38 miles per hour, 39 kilometres per hour, 40 metres per second or 41 knots."
        },
        {
          "key": "toUnitCode",
          "label": "To speed unit",
          "unit": null,
          "defaultValue": 39,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 38 miles per hour, 39 kilometres per hour, 40 metres per second or 41 knots."
        }
      ],
      "defaultState": {
        "value": 60,
        "fromUnitCode": 38,
        "toUnitCode": 39
      },
      "outputLabel": "Converted speed",
      "outputUnit": "speed unit",
      "assumptions": [
        "Miles per hour uses the international mile: 1 mile = 1,609.344 metres.",
        "Kilometres per hour uses 1 kilometre = 1,000 metres and 1 hour = 3,600 seconds.",
        "Knots use the international nautical mile per hour: 1 kn = 1.852 km/h.",
        "The time basis is fixed elapsed time; acceleration, traffic, terrain and legal tolerance are outside this converter."
      ],
      "workedExample": "For 60 mph to km/h: metres per second = 60 x 0.44704 = 26.8224 m/s. Kilometres per hour = 26.8224 ÷ 0.2777777778 = 96.56064 km/h.",
      "keywords": [
        "speed unit converter",
        "mph km/h m/s knots converter",
        "miles per hour kilometres per hour calculator",
        "transparent calculator",
        "calculationtime"
      ]
    },
    {
      "slug": "standard-deviation-calculator",
      "name": "Standard Deviation Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/standard-deviation-calculator/",
      "category": "Math & Statistics",
      "status": "live",
      "description": "Calculate mean, population standard deviation and sample standard deviation for a small data set, with the squared-difference method visible.",
      "directAnswer": "For 4, 7, 9, 10 and 15, the mean is 9. Population standard deviation is about 3.6332 and sample standard deviation is about 4.0620. The calculator shows both because population and sample data use different denominators.",
      "formulaText": "Mean = sum of values ÷ n. Population standard deviation σ = √(Σ(x − mean)² ÷ n). Sample standard deviation s = √(Σ(x − mean)² ÷ (n − 1)).",
      "formulaLatex": "sigma = \\\\sqrt{sum((x - mean}^{2}) / n)",
      "inputs": [
        {
          "key": "value1",
          "label": "Value 1",
          "unit": null,
          "defaultValue": 4,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Enter the values in the data set. Use active count to choose how many boxes are included."
        },
        {
          "key": "value2",
          "label": "Value 2",
          "unit": null,
          "defaultValue": 7,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": null
        },
        {
          "key": "value3",
          "label": "Value 3",
          "unit": null,
          "defaultValue": 9,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": null
        },
        {
          "key": "value4",
          "label": "Value 4",
          "unit": null,
          "defaultValue": 10,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": null
        },
        {
          "key": "value5",
          "label": "Value 5",
          "unit": null,
          "defaultValue": 15,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": null
        },
        {
          "key": "value6",
          "label": "Value 6",
          "unit": null,
          "defaultValue": 0,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": null
        },
        {
          "key": "value7",
          "label": "Value 7",
          "unit": null,
          "defaultValue": 0,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": null
        },
        {
          "key": "activeCount",
          "label": "How many values to include",
          "unit": "2 to 7",
          "defaultValue": 5,
          "min": 2,
          "max": 7,
          "step": 1,
          "help": "Use 2 through 7. Later boxes are ignored when the active count is lower."
        }
      ],
      "defaultState": {
        "value1": 4,
        "value2": 7,
        "value3": 9,
        "value4": 10,
        "value5": 15,
        "value6": 0,
        "value7": 0,
        "activeCount": 5
      },
      "outputLabel": "Standard deviation",
      "outputUnit": "population and sample standard deviation",
      "assumptions": [
        "The active count is rounded to a whole number from 2 to 7.",
        "Only Value 1 through the active count are included; later boxes are ignored.",
        "The population result divides by n. Use it when the entered values are the whole group being described.",
        "The sample result divides by n − 1. Use it when the entered values are a sample used to estimate a wider population.",
        "This calculator uses unweighted numeric values. Frequency tables, grouped classes and weighted standard deviation need a separate method."
      ],
      "workedExample": "For 4, 7, 9, 10 and 15, the mean is 45 ÷ 5 = 9. Squared differences are 25, 4, 0, 1 and 36, for a total of 66. Population variance is 66 ÷ 5 = 13.2, so population standard deviation is √13.2 ≈ 3.6332. Sample variance is 66 ÷ 4 = 16.5, so sample standard deviation is √16.5 ≈ 4.0620.",
      "keywords": [
        "standard deviation calculator",
        "standard deviation calculator formula",
        "online standard deviation calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "standard",
        "deviation"
      ]
    },
    {
      "slug": "student-loan-calculator",
      "name": "Student Loan Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/student-loan-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Estimate student loan monthly repayment, total interest and payoff timing from balance, annual rate, repayment term and optional extra monthly payment.",
      "directAnswer": "Student Loan Calculator applies fixed-payment amortising-loan maths, then tests how an optional extra monthly payment changes payoff time and total interest.",
      "formulaText": "Base payment = P × r ÷ (1 − (1 + r)^−n). Total monthly payment = base payment + extra payment. Balance is reduced month by month until paid off.",
      "formulaLatex": "Payment = P r (1 + r)^{n} / ((1 + r)^{n} - 1)",
      "inputs": [
        {
          "key": "balance",
          "label": "Loan balance",
          "unit": "$",
          "defaultValue": 32000,
          "min": 0,
          "max": null,
          "step": 100,
          "help": null
        },
        {
          "key": "annualRate",
          "label": "Annual interest rate",
          "unit": "%",
          "defaultValue": 5.5,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": null
        },
        {
          "key": "termYears",
          "label": "Repayment term",
          "unit": "years",
          "defaultValue": 10,
          "min": 0.1,
          "max": null,
          "step": 0.1,
          "help": null
        },
        {
          "key": "extraMonthlyPayment",
          "label": "Extra monthly payment",
          "unit": "$",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 10,
          "help": null
        }
      ],
      "defaultState": {
        "balance": 32000,
        "annualRate": 5.5,
        "termYears": 10,
        "extraMonthlyPayment": 0
      },
      "outputLabel": "Estimated monthly repayment",
      "outputUnit": "monthly payment, payoff time and total interest",
      "assumptions": [
        "The rate is fixed and compounded monthly.",
        "Fees, income-driven repayment rules, deferment, subsidy and tax effects are not included.",
        "For Australian HELP/HECS loans, use the dedicated HELP repayment calculator instead."
      ],
      "workedExample": "$32,000 over 10 years at 5.5% uses a monthly rate of 0.055 ÷ 12 and 120 scheduled payments. The base payment is about $347/month before any extra payment, then the calculator projects the balance month by month until payoff.",
      "keywords": [
        "student loan calculator",
        "student loan calculator formula",
        "online student loan calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "student",
        "loan"
      ]
    },
    {
      "slug": "sunrise-and-sunset-calculator",
      "name": "Sunrise and Sunset Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/sunrise-and-sunset-calculator/",
      "category": "Astronomy & Sky",
      "status": "live",
      "description": "Calculate sunrise, sunset, civil twilight, solar noon and day length from date, observer location and UTC offset.",
      "directAnswer": "The calculator uses Astronomy Engine SearchRiseSet(Sun) and SearchAltitude(Sun) for the entered observer location, then displays UTC instants, observer-local civil time, day length, solar noon and civil twilight.",
      "formulaText": "observer = Astronomy.Observer(latitude, longitude, elevationMetres). t0 = local civil midnight converted to UTC. Sunrise = SearchRiseSet(Sun, observer, +1, t0, 1.05). Sunset = SearchRiseSet(Sun, observer, -1, t0, 1.05). Civil dawn/dusk = SearchAltitude(Sun, observer, +/-1, t0, 1.05, -6). Day length = sunset - sunrise.",
      "formulaLatex": "Sunrise/sunset = Astronomy.SearchRiseSet(Sun, observer, direction, localMidnightUTC, 1.05)",
      "inputs": [
        {
          "key": "year",
          "label": "Year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1900,
          "max": 2100,
          "step": 1,
          "help": null
        },
        {
          "key": "month",
          "label": "Month",
          "unit": null,
          "defaultValue": 7,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "day",
          "label": "Day",
          "unit": null,
          "defaultValue": 16,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        },
        {
          "key": "latitude",
          "label": "Latitude",
          "unit": "degrees",
          "defaultValue": -33.8688,
          "min": -89.8,
          "max": 89.8,
          "step": 0.0001,
          "help": null
        },
        {
          "key": "longitude",
          "label": "Longitude",
          "unit": "degrees",
          "defaultValue": 151.2093,
          "min": -180,
          "max": 180,
          "step": 0.0001,
          "help": null
        },
        {
          "key": "timezoneOffset",
          "label": "UTC offset",
          "unit": "hours",
          "defaultValue": 10,
          "min": -12,
          "max": 14,
          "step": 0.5,
          "help": null
        },
        {
          "key": "elevationMetres",
          "label": "Elevation",
          "unit": "metres",
          "defaultValue": 0,
          "min": 0,
          "max": 9000,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "year": 2026,
        "month": 7,
        "day": 16,
        "latitude": -33.8688,
        "longitude": 151.2093,
        "timezoneOffset": 10,
        "elevationMetres": 0
      },
      "outputLabel": "Sun times",
      "outputUnit": "UTC and observer-local civil time",
      "assumptions": [
        "Astronomy Engine computes the Sun rise/set and civil twilight instants for the entered observer.",
        "Timezone offset is entered manually and does not apply daylight-saving rules automatically.",
        "Flat horizon and entered elevation are used; local terrain, buildings and weather can change the visible horizon.",
        "Polar day/night edge cases are reported when no same-day rise/set is found in the search window."
      ],
      "workedExample": "Enter Sydney at latitude -33.8688, longitude 151.2093, elevation 0 m and UTC+10. The page converts local midnight to UTC, searches for Sun rise/set and twilight events, then displays both UTC and local civil times.",
      "keywords": [
        "sunrise and sunset calculator",
        "sunrise and sunset calculator formula",
        "online sunrise and sunset calculator",
        "sun/moon/astronomy calculator",
        "transparent calculator",
        "calculationtime",
        "sunrise",
        "and"
      ]
    },
    {
      "slug": "sunrise-star-map",
      "name": "Sunrise Star Map",
      "canonicalUrl": "https://www.calculationtime.com/calculators/sunrise-star-map/",
      "category": "Workshop Astronomy",
      "status": "listed",
      "description": "Location plus date -> sky/time event preview",
      "directAnswer": "Location plus date -> sky/time event preview",
      "formulaText": "Solar event time = observer location + date + solar declination/hour angle",
      "formulaLatex": "Solar event time = observer location + date + solar declination/hour angle",
      "inputs": [],
      "defaultState": {},
      "outputLabel": null,
      "outputUnit": null,
      "assumptions": [],
      "workedExample": null,
      "keywords": [
        "sunrise star map",
        "sunrise star map formula",
        "sunrise star map calculator",
        "workshop astronomy calculator",
        "transparent calculator",
        "calculationtime",
        "sunrise",
        "star"
      ]
    },
    {
      "slug": "take-home-pay-calculator",
      "name": "Take-Home Pay Worksheet",
      "canonicalUrl": "https://www.calculationtime.com/calculators/take-home-pay-calculator/",
      "category": "Finance & Money",
      "status": "live",
      "description": "Take-Home Pay Worksheet separates gross pay, deductions and a user-entered flat withholding estimate. It is not an official payroll-tax calculator.",
      "directAnswer": "Take-Home Pay Worksheet separates gross pay, pre-tax deductions, a flat user-entered withholding estimate and post-tax deductions so a payslip-style calculation is easy to audit.",
      "formulaText": "Taxable estimate = gross pay - pre-tax deductions. Entered withholding = taxable estimate x withholding percent. Net after entered withholding = taxable estimate - entered withholding - post-tax deductions.",
      "formulaLatex": "Net pay = gross pay - entered withholding - deductions",
      "inputs": [
        {
          "key": "grossPay",
          "label": "Gross pay this period",
          "unit": "currency",
          "defaultValue": 3200,
          "min": 0,
          "max": null,
          "step": 50,
          "help": "Total gross earnings before deductions and withholding."
        },
        {
          "key": "pretaxDeduction",
          "label": "Pre-tax deductions",
          "unit": "currency",
          "defaultValue": 150,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Benefits or deductions removed before the withholding estimate."
        },
        {
          "key": "taxPercent",
          "label": "Estimated withholding",
          "unit": "percent",
          "defaultValue": 24,
          "min": 0,
          "max": 100,
          "step": 0.1,
          "help": "Flat planning percentage for tax/withholding. This is not a tax table."
        },
        {
          "key": "posttaxDeduction",
          "label": "Post-tax deductions",
          "unit": "currency",
          "defaultValue": 60,
          "min": 0,
          "max": null,
          "step": 10,
          "help": "Deductions after withholding, such as repayments or fees."
        },
        {
          "key": "payPeriodsPerYear",
          "label": "Pay periods per year",
          "unit": "count",
          "defaultValue": 26,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Used to annualize the estimated take-home pay."
        }
      ],
      "defaultState": {
        "grossPay": 3200,
        "pretaxDeduction": 150,
        "taxPercent": 24,
        "posttaxDeduction": 60,
        "payPeriodsPerYear": 26
      },
      "outputLabel": "Net pay after entered withholding",
      "outputUnit": "currency per pay period",
      "assumptions": [
        "Uses a flat user-entered withholding percentage.",
        "Does not apply official tax tables, benefits rules, superannuation, payroll law or filing status.",
        "Best for planning and payslip review, not official payroll."
      ],
      "workedExample": "Gross pay 3,200 minus 150 pre-tax gives 3,050 taxable estimate. At a user-entered 24% withholding estimate and 60 post-tax deductions, net pay after entered withholding is 2,258.",
      "keywords": [
        "take-home pay calculator",
        "take-home pay calculator formula",
        "online take-home pay calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "takehome",
        "pay"
      ]
    },
    {
      "slug": "target-heart-rate-calculator",
      "name": "Max HR / Target Heart Rate Zones Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/target-heart-rate-calculator/",
      "category": "Health & Fitness",
      "status": "planned",
      "description": "Estimate maximum heart rate and Karvonen target heart-rate zones from age, resting pulse and selected intensity band.",
      "directAnswer": "The target heart-rate calculator estimates maximum heart rate from age, then uses heart-rate reserve to produce a training zone.",
      "formulaText": "Estimated max HR = 220 − age. Heart-rate reserve = max HR − resting HR. Target low = reserve × low % + resting HR. Target high = reserve × high % + resting HR.",
      "formulaLatex": "Target HR = resting HR + intensity \\times (max HR - resting HR)",
      "inputs": [
        {
          "key": "ageYears",
          "label": "Age",
          "unit": "years",
          "defaultValue": 35,
          "min": 1,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "restingHeartRate",
          "label": "Resting heart rate",
          "unit": "bpm",
          "defaultValue": 65,
          "min": 30,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "zoneLowPercent",
          "label": "Zone low",
          "unit": "%",
          "defaultValue": 60,
          "min": 1,
          "max": 100,
          "step": 1,
          "help": null
        },
        {
          "key": "zoneHighPercent",
          "label": "Zone high",
          "unit": "%",
          "defaultValue": 80,
          "min": 1,
          "max": 100,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "ageYears": 35,
        "restingHeartRate": 65,
        "zoneLowPercent": 60,
        "zoneHighPercent": 80
      },
      "outputLabel": "Target heart-rate zone",
      "outputUnit": "beats per minute",
      "assumptions": [
        "Maximum heart rate formulas are approximate.",
        "Medical conditions, medication and fitness level can change safe training intensity.",
        "Stop exercise and seek help for chest pain, fainting or severe symptoms."
      ],
      "workedExample": "At age 35, estimated max HR is 185 bpm. With resting HR 65, a 60-80% reserve zone is about 137-161 bpm.",
      "keywords": [
        "target heart rate calculator",
        "target heart rate calculator formula",
        "online target heart rate calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "target",
        "heart"
      ]
    },
    {
      "slug": "tdee-calculator",
      "name": "Calorie Deficit / TDEE Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/tdee-calculator/",
      "category": "Health & Fitness",
      "status": "planned",
      "description": "Estimate maintenance calories, BMR, TDEE and a calorie target for weight loss, maintenance or gain.",
      "directAnswer": "The TDEE calculator estimates BMR with Mifflin-St Jeor, multiplies by activity factor, then applies the selected weekly deficit or surplus. Use 0 kg/week for maintenance calories.",
      "formulaText": "BMR = 10W + 6.25H − 5A + S, where S is +5 for male equation and −161 for female equation. TDEE = BMR × activity factor. Daily target = TDEE + weekly kg change × 7,700 ÷ 7.",
      "formulaLatex": "TDEE = BMR \\\\times activity factor",
      "inputs": [
        {
          "key": "sexCode",
          "label": "Sex for equation",
          "unit": null,
          "defaultValue": 1,
          "min": 1,
          "max": 2,
          "step": 1,
          "help": null
        },
        {
          "key": "ageYears",
          "label": "Age",
          "unit": "years",
          "defaultValue": 35,
          "min": 10,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "weightKg",
          "label": "Weight",
          "unit": "kg",
          "defaultValue": 80,
          "min": 1,
          "max": null,
          "step": 0.1,
          "help": null
        },
        {
          "key": "heightCm",
          "label": "Height",
          "unit": "cm",
          "defaultValue": 178,
          "min": 1,
          "max": null,
          "step": 0.1,
          "help": null
        },
        {
          "key": "activityFactor",
          "label": "Activity factor",
          "unit": null,
          "defaultValue": 1.55,
          "min": 1.2,
          "max": 2,
          "step": 0.01,
          "help": null
        },
        {
          "key": "goalChangePerWeekKg",
          "label": "Target weight change",
          "unit": "kg/week",
          "defaultValue": -0.5,
          "min": null,
          "max": null,
          "step": 0.1,
          "help": null
        }
      ],
      "defaultState": {
        "sexCode": 1,
        "ageYears": 35,
        "weightKg": 80,
        "heightCm": 178,
        "activityFactor": 1.55,
        "goalChangePerWeekKg": -0.5
      },
      "outputLabel": "Daily calorie target",
      "outputUnit": "kcal/day with BMR and TDEE",
      "assumptions": [
        "This is a population estimate, not a medical prescription.",
        "Activity factor is approximate.",
        "Energy balance is simplified using about 7,700 kcal per kg of body mass change."
      ],
      "workedExample": "An 80 kg, 178 cm, 35-year-old using the male equation has BMR about 1,730 kcal/day. At 1.55 activity, TDEE is about 2,682 kcal/day before goal adjustment.",
      "keywords": [
        "tdee calculator",
        "tdee calculator formula",
        "online tdee calculator",
        "health and fitness calculator",
        "transparent calculator",
        "calculationtime",
        "tdee",
        "calculator"
      ]
    },
    {
      "slug": "temperature-converter",
      "name": "Temperature Converter",
      "canonicalUrl": "https://www.calculationtime.com/calculators/temperature-converter/",
      "category": "Measurement & Unit Conversion",
      "status": "live",
      "description": "Convert Celsius, Fahrenheit and Kelvin in one bidirectional temperature tool with offset formulas, absolute-zero guardrails and printable proof.",
      "directAnswer": "A temperature converter is a better destination than separate Celsius, Fahrenheit and Kelvin pages because temperature conversion uses offset formulas, not only multiplication factors.",
      "formulaText": "Convert the source scale to Celsius first, then convert Celsius to the target scale. Fahrenheit = Celsius x 9 / 5 + 32. Celsius = (Fahrenheit - 32) x 5 / 9. Kelvin = Celsius + 273.15.",
      "formulaLatex": "F = C \\times 9/5 + 32;\\quad K = C + 273.15",
      "inputs": [
        {
          "key": "value",
          "label": "Temperature value",
          "unit": null,
          "defaultValue": 20,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Enter the temperature reading in the selected source scale."
        },
        {
          "key": "fromUnitCode",
          "label": "From temperature scale",
          "unit": null,
          "defaultValue": 14,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 14 Celsius, 15 Fahrenheit or 17 Kelvin."
        },
        {
          "key": "toUnitCode",
          "label": "To temperature scale",
          "unit": null,
          "defaultValue": 15,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 14 Celsius, 15 Fahrenheit or 17 Kelvin."
        }
      ],
      "defaultState": {
        "value": 20,
        "fromUnitCode": 14,
        "toUnitCode": 15
      },
      "outputLabel": "Converted temperature",
      "outputUnit": "selected temperature scale",
      "assumptions": [
        "Celsius, Fahrenheit and Kelvin are treated as temperature readings, not temperature differences, unless a page explicitly says otherwise.",
        "Kelvin cannot go below 0 K and Celsius cannot go below -273.15 C for ordinary thermodynamic temperature conversion.",
        "Temperature differences use the degree-size multiplier only; full temperature readings also use the offset.",
        "This is a conversion and worksheet tool, not a food-safety, medical, engineering or calibration certificate."
      ],
      "workedExample": "For 20 C to Fahrenheit: 20 x 9 / 5 + 32 = 68 F. For 20 C to Kelvin: 20 + 273.15 = 293.15 K. The same record can be changed to Fahrenheit, Celsius or Kelvin without leaving the page.",
      "keywords": [
        "temperature converter",
        "celsius fahrenheit kelvin converter",
        "temperature conversion calculator",
        "transparent calculator",
        "calculationtime"
      ]
    },
    {
      "slug": "time-add-or-subtract-calculator",
      "name": "Time Add or Subtract Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/time-add-or-subtract-calculator/",
      "category": "Date & Time",
      "status": "live",
      "description": "Time Add or Subtract Calculator adds or subtracts hours, minutes and seconds, then shows the wrapped clock-day result.",
      "directAnswer": "Time Add or Subtract Calculator combines hour, minute and second components and shows both raw duration arithmetic and the 24-hour wrapped result.",
      "formulaText": "Start seconds = h x 3600 + m x 60 + s. Change seconds uses the same formula. Add or subtract, then wrap modulo 86,400 for a clock-day result.",
      "formulaLatex": "Target date = start date \\\\pm counted calendar or business-day offset",
      "inputs": [
        {
          "key": "startHours",
          "label": "Start hours",
          "unit": "hours",
          "defaultValue": 1,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Starting duration or clock-hour component."
        },
        {
          "key": "startMinutes",
          "label": "Start minutes",
          "unit": "minutes",
          "defaultValue": 30,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Starting minute component."
        },
        {
          "key": "startSeconds",
          "label": "Start seconds",
          "unit": "seconds",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Starting second component."
        },
        {
          "key": "operationCode",
          "label": "Operation",
          "unit": "1 add, 2 subtract",
          "defaultValue": 1,
          "min": 1,
          "max": 2,
          "step": 1,
          "help": "Enter 1 to add the change or 2 to subtract it."
        },
        {
          "key": "changeHours",
          "label": "Change hours",
          "unit": "hours",
          "defaultValue": 2,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Hours to add or subtract."
        },
        {
          "key": "changeMinutes",
          "label": "Change minutes",
          "unit": "minutes",
          "defaultValue": 15,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Minutes to add or subtract."
        },
        {
          "key": "changeSeconds",
          "label": "Change seconds",
          "unit": "seconds",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 1,
          "help": "Seconds to add or subtract."
        }
      ],
      "defaultState": {
        "startHours": 1,
        "startMinutes": 30,
        "startSeconds": 0,
        "operationCode": 1,
        "changeHours": 2,
        "changeMinutes": 15,
        "changeSeconds": 0
      },
      "outputLabel": "Result time",
      "outputUnit": "duration / clock-day wrap",
      "assumptions": [
        "Uses fixed 60-second minutes and 24-hour wrap.",
        "Does not model daylight-saving or time-zone changes.",
        "Negative raw durations are wrapped onto the clock-day display."
      ],
      "workedExample": "1h 30m plus 2h 15m equals 3h 45m, with the same value as the wrapped clock-day result.",
      "keywords": [
        "time add or subtract calculator",
        "time add or subtract calculator formula",
        "online time add or subtract calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "time",
        "add"
      ]
    },
    {
      "slug": "time-difference-calculator",
      "name": "Time Difference Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/time-difference-calculator/",
      "category": "Date & Time",
      "status": "live",
      "description": "Find the clock difference between two times, with optional overnight handling and decimal-hour proof.",
      "directAnswer": "09:00 to 17:30 is 8h 30m, or 8.5 decimal hours. If the second time is earlier and overnight is enabled, the calculator treats it as the next day.",
      "formulaText": "Time difference = second clock minutes - first clock minutes, adding 24 hours to the second time when overnight mode is enabled and needed.",
      "formulaLatex": "Duration = end timestamp - start timestamp",
      "inputs": [
        {
          "key": "firstHour",
          "label": "First hour",
          "unit": "24h",
          "defaultValue": 9,
          "min": 0,
          "max": 23,
          "step": 1,
          "help": null
        },
        {
          "key": "firstMinute",
          "label": "First minute",
          "unit": null,
          "defaultValue": 0,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        },
        {
          "key": "secondHour",
          "label": "Second hour",
          "unit": "24h",
          "defaultValue": 17,
          "min": 0,
          "max": 23,
          "step": 1,
          "help": null
        },
        {
          "key": "secondMinute",
          "label": "Second minute",
          "unit": null,
          "defaultValue": 30,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        },
        {
          "key": "allowOvernight",
          "label": "Allow overnight",
          "unit": "1 yes, 0 no",
          "defaultValue": 1,
          "min": 0,
          "max": 1,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "firstHour": 9,
        "firstMinute": 0,
        "secondHour": 17,
        "secondMinute": 30,
        "allowOvernight": 1
      },
      "outputLabel": "Time difference",
      "outputUnit": "hours and minutes",
      "assumptions": [
        "Clock times use a 24-hour day; if the end time is earlier than the start time, the calculator treats the end as next day.",
        "Break minutes are deducted after elapsed clock time is measured and cannot make the net result negative.",
        "Rounding affects the displayed rounded-hour and optional value notes; exact elapsed minutes remain visible for checking.",
        "This is duration arithmetic, not a timezone or daylight-saving calculator. Local clock changes, legal deadlines and payroll rules may need separate confirmation.",
        "Optional hourly value is simple gross arithmetic before tax, deductions, overtime, penalty rates, minimum-wage rules, invoice terms or employer approval."
      ],
      "workedExample": "09:00 to 17:30 is 510 minutes, which is 8 hours and 30 minutes.",
      "keywords": [
        "time difference calculator",
        "time difference calculator formula",
        "online time difference calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "time",
        "difference"
      ]
    },
    {
      "slug": "time-duration-calculator",
      "name": "Time Duration Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/time-duration-calculator/",
      "category": "Date & Time",
      "status": "live",
      "description": "Calculate the hours and minutes between two times, including overnight spans.",
      "directAnswer": "The time between 8:30 and 17:15 is 8 hours and 45 minutes. This calculator converts both times into minutes after midnight and handles overnight spans.",
      "formulaText": "Duration minutes = end time in minutes − start time in minutes. If the result is negative, add 1,440 minutes for an overnight span.",
      "formulaLatex": "Duration = end timestamp - start timestamp",
      "inputs": [
        {
          "key": "startHour",
          "label": "Start hour",
          "unit": null,
          "defaultValue": 8,
          "min": 0,
          "max": 23,
          "step": 1,
          "help": "Use 24-hour time. Example: 8 for 8:00 AM."
        },
        {
          "key": "startMinute",
          "label": "Start minute",
          "unit": null,
          "defaultValue": 30,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        },
        {
          "key": "endHour",
          "label": "End hour",
          "unit": null,
          "defaultValue": 17,
          "min": 0,
          "max": 23,
          "step": 1,
          "help": "Use the finishing hour. Overnight spans are handled automatically."
        },
        {
          "key": "endMinute",
          "label": "End minute",
          "unit": null,
          "defaultValue": 15,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        },
        {
          "key": "hourlyRate",
          "label": "Optional hourly rate",
          "unit": "currency/hour",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Optional. Use 0 when this is only a duration record, not a pay estimate."
        }
      ],
      "defaultState": {
        "startHour": 8,
        "startMinute": 30,
        "endHour": 17,
        "endMinute": 15,
        "hourlyRate": 0
      },
      "outputLabel": "Duration",
      "outputUnit": "hours and minutes",
      "assumptions": [
        "Times use a 24-hour day.",
        "If the end time is earlier than the start time, the calculator treats it as ending the next day.",
        "Breaks, unpaid time and timezone changes are not deducted unless a calculator explicitly asks for them.",
        "Hourly pay, weekly time cards, breaks and payroll rules belong on the payroll time card calculator."
      ],
      "workedExample": "Start 8:30 is 510 minutes after midnight. End 17:15 is 1,035 minutes after midnight. 1,035 − 510 = 525 minutes, which is 8 hours and 45 minutes.",
      "keywords": [
        "time duration calculator",
        "time duration calculator formula",
        "online time duration calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "time",
        "duration"
      ]
    },
    {
      "slug": "time-unit-converter",
      "name": "Time Unit Converter",
      "canonicalUrl": "https://www.calculationtime.com/calculators/time-unit-converter/",
      "category": "Date/Time/Calendar",
      "status": "live",
      "description": "Convert seconds, minutes, hours, days and weeks in one bidirectional fixed-duration tool with SI-second proof and printable output.",
      "directAnswer": "A Time Unit Converter is the survivor page for closely related seconds, minutes, hours, days and weeks conversions, replacing one-direction duration micro-routes with one reversible tool.",
      "formulaText": "Convert the source unit to seconds first, then convert seconds to the target unit. One minute = 60 s. One hour = 3,600 s. One day = 86,400 s. One week = 604,800 s.",
      "formulaLatex": "s = value \\times sourceFactor; result = s \\div targetFactor",
      "inputs": [
        {
          "key": "value",
          "label": "Duration value",
          "unit": null,
          "defaultValue": 2,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Enter the elapsed duration from a timer, worksheet, shift note, production log or schedule estimate."
        },
        {
          "key": "fromUnitCode",
          "label": "From time unit",
          "unit": null,
          "defaultValue": 30,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 30 days, 31 hours, 32 minutes, 33 weeks or 34 seconds."
        },
        {
          "key": "toUnitCode",
          "label": "To time unit",
          "unit": null,
          "defaultValue": 31,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 30 days, 31 hours, 32 minutes, 33 weeks or 34 seconds."
        }
      ],
      "defaultState": {
        "value": 2,
        "fromUnitCode": 30,
        "toUnitCode": 31
      },
      "outputLabel": "Converted duration",
      "outputUnit": "selected fixed-duration unit",
      "assumptions": [
        "The converter treats all inputs as elapsed duration, not calendar dates, deadlines, time zones or work schedules.",
        "One day is treated as 24 fixed hours for duration conversion.",
        "One week is treated as 7 fixed days, or 604,800 seconds.",
        "Daylight-saving changes, holidays, business days, time zones, pay rules and calendar endpoints require dedicated calculators."
      ],
      "workedExample": "For 2 days to hours: 2 d x 86,400 s = 172,800 s, and 172,800 s ÷ 3,600 = 48 h.",
      "keywords": [
        "time unit converter",
        "days hours minutes weeks seconds converter",
        "duration unit conversion calculator",
        "transparent calculator",
        "calculationtime"
      ]
    },
    {
      "slug": "time-zone-converter",
      "name": "Time Zone Converter",
      "canonicalUrl": "https://www.calculationtime.com/calculators/time-zone-converter/",
      "category": "Date & Time",
      "status": "live",
      "description": "Convert a source clock time from one manual UTC offset to another, including date-shift notes and an extra offset check.",
      "directAnswer": "09:30 at UTC+1 converts to 18:30 at UTC+10 on the same day. The calculator also shows the UTC reference and one extra offset check for planning.",
      "formulaText": "UTC minutes = source local minutes - source UTC offset × 60. Target minutes = UTC minutes + target UTC offset × 60, normalised to a 24-hour clock with day shift.",
      "formulaLatex": "Local time = UTC instant + zone offset",
      "inputs": [
        {
          "key": "sourceHour",
          "label": "Source hour",
          "unit": "24h",
          "defaultValue": 9,
          "min": 0,
          "max": 23,
          "step": 1,
          "help": null
        },
        {
          "key": "sourceMinute",
          "label": "Source minute",
          "unit": null,
          "defaultValue": 30,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        },
        {
          "key": "sourceOffset",
          "label": "Source UTC offset",
          "unit": "hours",
          "defaultValue": 1,
          "min": -12,
          "max": 14,
          "step": 0.25,
          "help": null
        },
        {
          "key": "targetOffset",
          "label": "Target UTC offset",
          "unit": "hours",
          "defaultValue": 10,
          "min": -12,
          "max": 14,
          "step": 0.25,
          "help": null
        },
        {
          "key": "extraOffset",
          "label": "Extra clock offset",
          "unit": "hours",
          "defaultValue": -5,
          "min": -12,
          "max": 14,
          "step": 0.25,
          "help": null
        }
      ],
      "defaultState": {
        "sourceHour": 9,
        "sourceMinute": 30,
        "sourceOffset": 1,
        "targetOffset": 10,
        "extraOffset": -5
      },
      "outputLabel": "Converted time",
      "outputUnit": "local time and date shift",
      "assumptions": [
        "The calculator uses numeric UTC offsets entered by the user. It does not choose city time zones automatically.",
        "Daylight-saving time is not inferred. Enter the current effective offset for each location on the date being scheduled.",
        "Offsets may use quarter-hour steps for regions that do not sit on whole-hour boundaries.",
        "Date rollover is relative to the source date: previous day, same day or next day.",
        "For legal deadlines, flights, medical appointments, broadcasts or paid work, confirm the official local timezone rule and date."
      ],
      "workedExample": "09:30 at UTC+1 is 08:30 UTC. Add UTC+10 and the target time is 18:30 on the same day.",
      "keywords": [
        "time zone converter",
        "time zone converter formula",
        "time zone converter calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "time",
        "zone"
      ]
    },
    {
      "slug": "time-zone-meeting-planner",
      "name": "Time Zone Meeting Planner",
      "canonicalUrl": "https://www.calculationtime.com/calculators/time-zone-meeting-planner/1/",
      "category": "Workshop Astronomy",
      "status": "listed",
      "description": "Sydney, London, New York -> shared meeting window",
      "directAnswer": "Sydney, London, New York -> shared meeting window",
      "formulaText": "Local time = UTC instant + zone offset",
      "formulaLatex": "Local time = UTC instant + zone offset",
      "inputs": [],
      "defaultState": {},
      "outputLabel": null,
      "outputUnit": null,
      "assumptions": [],
      "workedExample": null,
      "keywords": [
        "time zone meeting planner",
        "time zone meeting planner formula",
        "time zone meeting planner calculator",
        "workshop astronomy calculator",
        "transparent calculator",
        "calculationtime",
        "time",
        "zone"
      ]
    },
    {
      "slug": "triangle-calculator",
      "name": "Triangle Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/triangle-calculator/",
      "category": "Core Mathematics",
      "status": "live",
      "description": "Calculate triangle area from base and perpendicular height, then check perimeter and optional planning allowance from side lengths.",
      "directAnswer": "Enter a triangle base, perpendicular height, optional side lengths and allowance to see exact area, planning area, perimeter, and a side-validity check.",
      "formulaText": "Triangle area = base × perpendicular height ÷ 2. Optional planning area = area × (1 + allowance percent ÷ 100). Perimeter check = base + side A + side B when side lengths are entered.",
      "formulaLatex": "Area = base \\\\times height / 2",
      "inputs": [
        {
          "key": "base",
          "label": "Base",
          "unit": "units",
          "defaultValue": 12,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "The side chosen as the base, measured in one consistent unit."
        },
        {
          "key": "height",
          "label": "Height",
          "unit": "units",
          "defaultValue": 8,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Perpendicular height from the base to the opposite point. This is not always the sloping side."
        },
        {
          "key": "sideA",
          "label": "Side A for perimeter check",
          "unit": "units",
          "defaultValue": 10,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Optional side length for a perimeter cross-check or worksheet note."
        },
        {
          "key": "sideB",
          "label": "Side B for perimeter check",
          "unit": "units",
          "defaultValue": 10,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Optional side length for a perimeter cross-check or worksheet note."
        },
        {
          "key": "allowancePercent",
          "label": "Planning allowance",
          "unit": "%",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 0.5,
          "help": "Optional extra area for material waste, cut tolerance, classroom what-if rows or quote notes."
        }
      ],
      "defaultState": {
        "base": 12,
        "height": 8,
        "sideA": 10,
        "sideB": 10,
        "allowancePercent": 0
      },
      "outputLabel": "Triangle area",
      "outputUnit": "square units",
      "assumptions": [
        "Base and height must use the same linear unit, such as metres, feet, centimetres or inches.",
        "Height means the perpendicular distance from the base to the opposite vertex, not a sloping side unless the triangle is right-angled in that orientation.",
        "The area result is in square units matching the input unit: m², ft², cm² or another stated square unit.",
        "The optional allowance is a planning buffer and is kept separate from the exact geometric area for cleaner worksheets, quotes and cut notes."
      ],
      "workedExample": "For base 12 and height 8: triangle area = 12 × 8 ÷ 2 = 48 square units. If a 10% allowance is used for material planning, planning area = 48 × 1.10 = 52.8 square units. With side lengths 10 and 10, the perimeter check is 12 + 10 + 10 = 32 units.",
      "keywords": [
        "triangle calculator",
        "triangle calculator formula",
        "online triangle calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "triangle",
        "calculator"
      ]
    },
    {
      "slug": "vat-gst-calculator",
      "name": "VAT / GST Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/vat-gst-calculator/",
      "category": "Business & HR",
      "status": "planned",
      "description": "Add tax to a net price, remove tax from a gross price, and show the tax amount clearly for receipts, quotes and classroom checks.",
      "directAnswer": "At a 20% VAT or GST rate, a 120 gross price contains 20 tax and 100 net price. To add tax, multiply the net price by 1 + rate. To remove included tax, divide the gross price by 1 + rate, then subtract the net amount.",
      "formulaText": "Add tax: gross price = net price × (1 + tax rate ÷ 100); tax amount = gross price − net price. Remove included tax: net price = gross price ÷ (1 + tax rate ÷ 100); tax amount = gross price − net price.",
      "formulaLatex": "GST = tax-inclusive total - tax-inclusive total / (1 + GST rate)",
      "inputs": [
        {
          "key": "price",
          "label": "Price amount",
          "unit": "currency",
          "defaultValue": 120,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Enter the known price. Use net price when adding tax, or gross price when removing included tax."
        },
        {
          "key": "taxRate",
          "label": "VAT / GST rate",
          "unit": "%",
          "defaultValue": 20,
          "min": 0,
          "max": 100,
          "step": 0.01,
          "help": "Use the rate that applies to the item and country you are checking."
        },
        {
          "key": "mode",
          "label": "Mode: 0 add tax, 1 remove tax",
          "unit": null,
          "defaultValue": 0,
          "min": 0,
          "max": 1,
          "step": 1,
          "help": "Enter 0 to add tax to a net price, or 1 to remove included tax from a gross price."
        }
      ],
      "defaultState": {
        "price": 120,
        "taxRate": 20,
        "mode": 0
      },
      "outputLabel": "Tax result",
      "outputUnit": "net, tax and gross amounts",
      "assumptions": [
        "The entered rate is the applicable VAT, GST or sales-tax-style percentage for the item being checked.",
        "Mode 0 treats the entered price as net before tax; mode 1 treats the entered price as gross tax-inclusive.",
        "Currency symbols, invoice rounding rules, exemptions, reverse charge, import duties and multi-rate baskets are not handled.",
        "This calculator is an arithmetic aid only, not tax, accounting or compliance advice."
      ],
      "workedExample": "To remove 20% VAT from a gross price of 120, divide 120 by 1.20 to get a 100 net price. The tax amount is 120 − 100 = 20. To add 20% to a 100 net price, multiply 100 by 1.20 to get a 120 gross price.",
      "keywords": [
        "gst calculator",
        "gst calculator formula",
        "online gst calculator",
        "money and finance calculator",
        "transparent calculator",
        "calculationtime",
        "gst",
        "calculator"
      ]
    },
    {
      "slug": "volume-calculator",
      "name": "Volume Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/volume-calculator/",
      "category": "Measurement & Construction",
      "status": "live",
      "description": "Calculate the volume of a rectangular box, room, container or prism from length, width and height, with litres, cubic metres and cubic feet shown for checking.",
      "directAnswer": "The volume calculator multiplies length × width × height to find rectangular-prism volume. A 2.4 m × 1.8 m × 0.6 m space is 2.592 m³, equal to 2,592 litres or about 91.54 cubic feet before any optional planning allowance.",
      "formulaText": "Measured volume = length × width × height. Litres = cubic metres × 1,000. Cubic feet = cubic metres × 35.3146667215. Optional planning volume = measured volume × (1 + allowance percent ÷ 100).",
      "formulaLatex": "Volume = length \\\\times width \\\\times height",
      "inputs": [
        {
          "key": "lengthMetres",
          "label": "Length",
          "unit": "m",
          "defaultValue": 2.4,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "Use the same unit family for all three dimensions. Defaults use metres."
        },
        {
          "key": "widthMetres",
          "label": "Width",
          "unit": "m",
          "defaultValue": 1.8,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": null
        },
        {
          "key": "heightMetres",
          "label": "Height / depth",
          "unit": "m",
          "defaultValue": 0.6,
          "min": 0,
          "max": null,
          "step": 0.01,
          "help": "For boxes, this is height. For trenches, beds or tanks, this may be depth."
        },
        {
          "key": "allowancePercent",
          "label": "Optional planning allowance",
          "unit": "%",
          "defaultValue": 0,
          "min": 0,
          "max": null,
          "step": 0.5,
          "help": "Keep ordering margin, spillage, voids or tolerance separate from the measured volume."
        }
      ],
      "defaultState": {
        "lengthMetres": 2.4,
        "widthMetres": 1.8,
        "heightMetres": 0.6,
        "allowancePercent": 0
      },
      "outputLabel": "Volume",
      "outputUnit": "cubic metres, litres and cubic feet",
      "assumptions": [
        "The main calculation assumes a rectangular prism: straight length, width and height/depth.",
        "Default inputs are metres, so the main result is cubic metres. Convert inches, feet or centimetres first if your measurements are in mixed units.",
        "The optional allowance is separated from measured volume so quote notes and classroom work can show what is geometry and what is judgement.",
        "Irregular shapes, sloped bottoms, rounded tanks, settlement, compaction and supplier rounding need their own method or professional check."
      ],
      "workedExample": "For a box or space 2.4 m long, 1.8 m wide and 0.6 m high: 2.4 × 1.8 × 0.6 = 2.592 m³. Litres are 2.592 × 1,000 = 2,592 L. Cubic feet are 2.592 × 35.3146667215 = about 91.54 ft³.",
      "keywords": [
        "volume calculator",
        "volume calculator formula",
        "online volume calculator",
        "core mathematics calculator",
        "transparent calculator",
        "calculationtime",
        "volume",
        "calculator"
      ]
    },
    {
      "slug": "volume-converter",
      "name": "Volume Converter",
      "canonicalUrl": "https://www.calculationtime.com/calculators/volume-converter/",
      "category": "Measurement & Unit Conversion",
      "status": "live",
      "description": "Convert cubic feet, cubic metres and cubic yards in one bidirectional cubic-volume tool with exact international-foot factors and printable proof.",
      "directAnswer": "A Volume Converter is the survivor page for closely related cubic-foot, cubic-metre and cubic-yard conversions, replacing one-direction cubic-volume micro-routes with one reversible tool.",
      "formulaText": "Convert the source unit to litres first, then convert litres to the target cubic unit. One cubic foot = 28.316846592 L. One cubic metre = 1000 L. One cubic yard = 764.554857984 L.",
      "formulaLatex": "L = value \\times sourceFactor; result = L \\div targetFactor",
      "inputs": [
        {
          "key": "value",
          "label": "Cubic volume value",
          "unit": null,
          "defaultValue": 100,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Enter the measured cubic volume from a box, bin, takeoff, worksheet, drawing or supplier note."
        },
        {
          "key": "fromUnitCode",
          "label": "From cubic unit",
          "unit": null,
          "defaultValue": 27,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 27 cubic feet, 28 cubic metres or 29 cubic yards."
        },
        {
          "key": "toUnitCode",
          "label": "To cubic unit",
          "unit": null,
          "defaultValue": 28,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 27 cubic feet, 28 cubic metres or 29 cubic yards."
        }
      ],
      "defaultState": {
        "value": 100,
        "fromUnitCode": 27,
        "toUnitCode": 28
      },
      "outputLabel": "Converted cubic volume",
      "outputUnit": "selected cubic-volume unit",
      "assumptions": [
        "The converter treats all inputs as cubic volume, not floor area, length, mass, density or material order quantity.",
        "Cubic feet and cubic yards use the international foot, where 1 ft = 0.3048 m exactly.",
        "One cubic yard equals 27 cubic feet, or 0.764554857984 cubic metres.",
        "This page does not replace material-specific calculators for concrete, pool volume, excavation, mulch, gravel, cylinder geometry or supplier ordering rules."
      ],
      "workedExample": "For 100 cubic feet to cubic metres: 100 ft³ x 28.316846592 L = 2,831.6846592 L, and 2,831.6846592 L ÷ 1000 = 2.8316846592 m³.",
      "keywords": [
        "volume converter",
        "cubic feet cubic metres cubic yards converter",
        "cubic volume conversion calculator",
        "transparent calculator",
        "calculationtime"
      ]
    },
    {
      "slug": "week-number-calculator",
      "name": "Week Number Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/week-number-calculator/",
      "category": "Date & Time",
      "status": "live",
      "description": "Find the ISO week number, ISO week-year and weekday for a calendar date, with a simple year-boundary explanation.",
      "directAnswer": "18 May 2026 is ISO week 21 of ISO week-year 2026. This calculator uses the ISO rule: weeks start on Monday, and week 1 is the week containing the first Thursday of the ISO week-year.",
      "formulaText": "ISO week number: convert the date to a UTC Gregorian date, move to the Thursday in the same Monday-starting week, set the ISO week-year from that Thursday, then count seven-day blocks from the Thursday in ISO week 1.",
      "formulaLatex": "ISO week = week containing Thursday of the target date",
      "inputs": [
        {
          "key": "year",
          "label": "Year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1,
          "max": 9999,
          "step": 1,
          "help": "Use the Gregorian calendar year printed on the date."
        },
        {
          "key": "month",
          "label": "Month",
          "unit": null,
          "defaultValue": 5,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": "January is 1, December is 12."
        },
        {
          "key": "day",
          "label": "Day of month",
          "unit": null,
          "defaultValue": 18,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": "If the day is beyond the month length, the calculator clamps it to the last valid day."
        }
      ],
      "defaultState": {
        "year": 2026,
        "month": 5,
        "day": 18
      },
      "outputLabel": "ISO week",
      "outputUnit": "week number",
      "assumptions": [
        "The date is interpreted in the proleptic Gregorian calendar at UTC midnight for stable arithmetic.",
        "ISO weeks start on Monday and end on Sunday.",
        "ISO week 1 is the week containing the first Thursday of the ISO week-year, which is equivalent to the week containing 4 January.",
        "Some business, school, payroll or local calendars use non-ISO week labels; check the rule set before using the number in official records."
      ],
      "workedExample": "For 18 May 2026, the date is a Monday. The Thursday in the same ISO week is 21 May 2026. Counting from the Thursday of ISO week 1 gives week 21, and the ISO week-year remains 2026.",
      "keywords": [
        "week number calculator",
        "week number calculator formula",
        "online week number calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "week",
        "number"
      ]
    },
    {
      "slug": "weekday-calculator",
      "name": "Weekday Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/weekday-calculator/",
      "category": "Date & Time",
      "status": "live",
      "description": "Find the weekday name, ISO weekday number and day-of-year position for a Gregorian calendar date.",
      "directAnswer": "15 May 2026 falls on a Friday. The calculator evaluates the date at UTC midnight, returns the weekday name, gives the ISO weekday number and shows the day-of-year position.",
      "formulaText": "Weekday = day name of the entered calendar date evaluated at UTC midnight in the proleptic Gregorian calendar.",
      "formulaLatex": "Weekday = calendar date mapped through Gregorian day-of-week arithmetic",
      "inputs": [
        {
          "key": "year",
          "label": "Year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1,
          "max": null,
          "step": 1,
          "help": "Use the full calendar year, such as 2026."
        },
        {
          "key": "month",
          "label": "Month",
          "unit": null,
          "defaultValue": 5,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": "Enter 1 for January through 12 for December."
        },
        {
          "key": "day",
          "label": "Day",
          "unit": null,
          "defaultValue": 15,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": "Enter the day number within the month."
        }
      ],
      "defaultState": {
        "year": 2026,
        "month": 5,
        "day": 15
      },
      "outputLabel": "Weekday",
      "outputUnit": "day name and ISO number",
      "assumptions": [
        "Inputs use the modern Gregorian calendar convention used for ordinary civil dates.",
        "The calculation evaluates the date at UTC midnight to avoid daylight-saving hour shifts.",
        "Very old historical dates may have used Julian or local calendar rules rather than the Gregorian calendar.",
        "Invalid month/day combinations can normalise in JavaScript Date arithmetic, so confirm unusual dates such as 31 April before relying on them."
      ],
      "workedExample": "For 15 May 2026, the calculator creates the UTC date 2026-05-15. The calendar weekday for that date is Friday, so the result is Friday.",
      "keywords": [
        "weekday calculator",
        "weekday calculator formula",
        "online weekday calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "weekday",
        "calculator"
      ]
    },
    {
      "slug": "weight-mass-converter",
      "name": "Weight & Mass Converter",
      "canonicalUrl": "https://www.calculationtime.com/calculators/weight-mass-converter/",
      "category": "Measurement & Unit Conversion",
      "status": "live",
      "description": "Convert grams, kilograms, ounces, pounds and stone in one bidirectional mass tool with exact avoirdupois factors, SI scaling and printable proof.",
      "directAnswer": "A Weight & Mass Converter is the survivor page for closely related gram, kilogram, ounce, pound and stone conversions, replacing one-direction micro-routes with one reversible tool.",
      "formulaText": "Convert the source unit to kilograms first, then convert kilograms to the target unit. Grams = kilograms x 1000. Pounds = kilograms / 0.45359237. Ounces = kilograms / 0.028349523125. Stone = kilograms / 6.35029318.",
      "formulaLatex": "kg = value \\times unitFactor; result = kg \\div targetFactor",
      "inputs": [
        {
          "key": "value",
          "label": "Mass value",
          "unit": null,
          "defaultValue": 1000,
          "min": null,
          "max": null,
          "step": 0.01,
          "help": "Enter the weight or mass reading from the scale, label, recipe, parcel or worksheet."
        },
        {
          "key": "fromUnitCode",
          "label": "From mass unit",
          "unit": null,
          "defaultValue": 9,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 9 grams, 7 kilograms, 10 ounces, 8 pounds or 18 stone."
        },
        {
          "key": "toUnitCode",
          "label": "To mass unit",
          "unit": null,
          "defaultValue": 8,
          "min": null,
          "max": null,
          "step": 1,
          "help": "Use 9 grams, 7 kilograms, 10 ounces, 8 pounds or 18 stone."
        }
      ],
      "defaultState": {
        "value": 1000,
        "fromUnitCode": 9,
        "toUnitCode": 8
      },
      "outputLabel": "Converted mass",
      "outputUnit": "selected mass unit",
      "assumptions": [
        "The converter treats weight labels as mass units for ordinary recipe, parcel, classroom and worksheet use.",
        "The international avoirdupois pound is exactly 0.45359237 kilograms, and 1 pound equals 16 ounces.",
        "One stone is treated as exactly 14 international avoirdupois pounds, or 6.35029318 kilograms.",
        "This is a conversion and worksheet tool, not a trade-certified scale, medical dosing calculator or legal metrology certificate."
      ],
      "workedExample": "For 1000 g to pounds: 1000 g = 1 kg, and pounds = 1 / 0.45359237 = 2.20462 lb. The same amount is about 35.274 oz or 0.15747 stone.",
      "keywords": [
        "weight converter",
        "mass converter",
        "grams kilograms pounds ounces stone converter"
      ]
    },
    {
      "slug": "workdays-add-or-subtract-calculator",
      "name": "Workdays Add or Subtract Calculator",
      "canonicalUrl": "https://www.calculationtime.com/calculators/workdays-add-or-subtract-calculator/",
      "category": "Date & Time",
      "status": "live",
      "description": "Add or subtract Monday-to-Friday workdays from a start date, with the landing date, weekday, skipped weekends and calendar-day span shown live.",
      "directAnswer": "Start on 15 May 2026, add 10 Monday-to-Friday workdays, and the calculator lands on 29 May 2026, a Friday. The proof table shows which weekend dates were skipped.",
      "formulaText": "Move one calendar day at a time from the start date in the chosen direction. Count a date only when it falls Monday through Friday, and stop when the requested workday count is reached.",
      "formulaLatex": "Target date = start date \\\\pm counted calendar or business-day offset",
      "inputs": [
        {
          "key": "startYear",
          "label": "Start year",
          "unit": null,
          "defaultValue": 2026,
          "min": 1,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "startMonth",
          "label": "Start month",
          "unit": null,
          "defaultValue": 5,
          "min": 1,
          "max": 12,
          "step": 1,
          "help": null
        },
        {
          "key": "startDay",
          "label": "Start day",
          "unit": null,
          "defaultValue": 15,
          "min": 1,
          "max": 31,
          "step": 1,
          "help": null
        },
        {
          "key": "workdayChange",
          "label": "Workdays to move",
          "unit": "workdays",
          "defaultValue": 10,
          "min": 0,
          "max": null,
          "step": 1,
          "help": null
        },
        {
          "key": "operationCode",
          "label": "Operation",
          "unit": "1 add, 2 subtract",
          "defaultValue": 1,
          "min": 1,
          "max": 2,
          "step": 1,
          "help": null
        }
      ],
      "defaultState": {
        "startYear": 2026,
        "startMonth": 5,
        "startDay": 15,
        "workdayChange": 10,
        "operationCode": 1
      },
      "outputLabel": "Result date",
      "outputUnit": "date and weekday",
      "assumptions": [
        "Monday to Friday are treated as workdays.",
        "Saturday and Sunday are skipped.",
        "Public holidays, company shutdowns, regional weekends and industry-specific calendars are not deducted in this offset tool.",
        "Dates are evaluated at UTC midnight so daylight-saving hour changes do not affect date-only counting."
      ],
      "workedExample": "Starting Friday 15 May 2026 and adding 10 workdays skips the two weekend blocks and lands on Friday 29 May 2026 after 14 calendar-day steps.",
      "keywords": [
        "workdays add or subtract calculator",
        "workdays add or subtract calculator formula",
        "online workdays add or subtract calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "workdays",
        "add"
      ]
    },
    {
      "slug": "world-clock",
      "name": "World Clock",
      "canonicalUrl": "https://www.calculationtime.com/calculators/world-clock/",
      "category": "Date & Time",
      "status": "live",
      "description": "Compare a source clock time against a target UTC offset and one extra world-clock offset, with UTC proof and date-shift notes.",
      "directAnswer": "A world clock compares one local time through UTC against other offsets. Noon at UTC+0 is 22:00 at UTC+10 and 07:00 at UTC-5 on the same date basis.",
      "formulaText": "Convert home time to UTC, then add each selected city offset and normalise to a local 24-hour clock.",
      "formulaLatex": "Local time = UTC instant + zone offset",
      "inputs": [
        {
          "key": "sourceHour",
          "label": "Home hour",
          "unit": "24h",
          "defaultValue": 12,
          "min": 0,
          "max": 23,
          "step": 1,
          "help": null
        },
        {
          "key": "sourceMinute",
          "label": "Home minute",
          "unit": null,
          "defaultValue": 0,
          "min": 0,
          "max": 59,
          "step": 1,
          "help": null
        },
        {
          "key": "sourceOffset",
          "label": "Home UTC offset",
          "unit": "hours",
          "defaultValue": 0,
          "min": -12,
          "max": 14,
          "step": 0.25,
          "help": null
        },
        {
          "key": "targetOffset",
          "label": "City UTC offset",
          "unit": "hours",
          "defaultValue": 10,
          "min": -12,
          "max": 14,
          "step": 0.25,
          "help": null
        },
        {
          "key": "extraOffset",
          "label": "Second city offset",
          "unit": "hours",
          "defaultValue": -5,
          "min": -12,
          "max": 14,
          "step": 0.25,
          "help": null
        }
      ],
      "defaultState": {
        "sourceHour": 12,
        "sourceMinute": 0,
        "sourceOffset": 0,
        "targetOffset": 10,
        "extraOffset": -5
      },
      "outputLabel": "World clock time",
      "outputUnit": "local time and date shift",
      "assumptions": [
        "The calculator uses numeric UTC offsets entered by the user. It does not choose city time zones automatically.",
        "Daylight-saving time is not inferred. Enter the current effective offset for each location on the date being scheduled.",
        "Offsets may use quarter-hour steps for regions that do not sit on whole-hour boundaries.",
        "Date rollover is relative to the source date: previous day, same day or next day.",
        "For legal deadlines, flights, medical appointments, broadcasts or paid work, confirm the official local timezone rule and date."
      ],
      "workedExample": "12:00 at UTC+0 is 12:00 UTC. UTC+10 reads 22:00, while UTC-5 reads 07:00.",
      "keywords": [
        "world clock",
        "world clock formula",
        "world clock calculator",
        "date/time/calendar calculator",
        "transparent calculator",
        "calculationtime",
        "world",
        "clock"
      ]
    }
  ]
}
