{
  "title": "Subscription cost calculator",
  "human_url": "https://happytails.ai/en/finance-tools/subscription-cost-calculator/",
  "agent_url": "https://happytails.ai/agents/en/finance-tools/subscription-cost-calculator/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/finance-tools/subscription-cost-calculator.md",
  "content": "Subscription cost calculator\nConvert weekly, monthly, yearly and other recurring plans into one monthly and yearly total. Includes first-year cost after free trial months.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use Subscription cost calculator\nPaste one plan per line with its price and billing frequency.\nAdd free trial months where a plan has one.\nCheck the weeks and days per year, the currency and rounding.\nCalculate and download the plan table.\nUseful next steps\nSavings goal\nExpense splitter\nTrip Budget Calculator\nOne basis for every plan\nEach price is multiplied by its charges per year: 52 for weekly, 26 for every two weeks, 24 for twice a month, 12 for monthly and 1 for yearly. These period counts match the pay period table in IRS Publication 15-T (2026). A 12.00 weekly gym plan costs 624.00 a year and 52.00 a month. Change the weeks per year to 52.1775 and the days per year to 365.2425 if you prefer an average Gregorian year.\nRounding and trials\nEach plan is rounded to the currency decimal places first, and totals add the rounded plans, so the table always adds up. A yearly plan shows its monthly equivalent, for example 99.99 a year is 8.33 a month. First-year cost removes free trial months as twelfths of the yearly cost; it does not follow exact billing dates, price changes or taxes.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Savings goal",
      "url": "https://happytails.ai/en/finance-tools/savings-goal/"
    },
    {
      "name": "Expense splitter",
      "url": "https://happytails.ai/en/calculators/expense-splitter/"
    },
    {
      "name": "Trip Budget Calculator",
      "url": "https://happytails.ai/en/calculators/trip-budget-calculator/"
    }
  ],
  "tool": {
    "id": "subscription-cost-calculator",
    "category": "finance-tools",
    "built": true,
    "requirements": "Up to 200 plans and 200,000 characters. Prices up to 1,000,000,000,000 with up to the selected currency decimal places (0 to 6). Free trials from 0 to 12 months. Weeks per year from 52 to 53 and days per year from 365 to 366, each with up to six decimal places. Calculated on your device. Download a JSON report and CSV files.",
    "implementation": {
      "fields": [
        {
          "key": "currency",
          "label": "Currency code",
          "value": "USD",
          "type": "text",
          "maxLength": 3,
          "autoCapitalize": "characters"
        },
        {
          "key": "precision",
          "label": "Currency decimal places",
          "value": "2",
          "type": "select",
          "values": [
            "0",
            "1",
            "2",
            "3",
            "4",
            "5",
            "6"
          ]
        },
        {
          "key": "rounding",
          "label": "Rounding",
          "value": "half-up",
          "type": "select",
          "values": [
            "half-up",
            "half-even",
            "half-down",
            "down",
            "up",
            "floor",
            "ceiling"
          ],
          "labels": {
            "half-up": "Half up (ties away from zero)",
            "half-even": "Half even (ties to even)",
            "half-down": "Half down (ties toward zero)",
            "down": "Toward zero (truncate)",
            "up": "Away from zero",
            "floor": "Toward negative infinity",
            "ceiling": "Toward positive infinity"
          }
        },
        {
          "key": "weeksPerYear",
          "label": "Weeks per year",
          "value": "52",
          "help": "From 52 to 53 with up to six decimal places. Use 52.1775 for an average year.",
          "type": "text",
          "inputMode": "decimal",
          "maxLength": 32
        },
        {
          "key": "daysPerYear",
          "label": "Days per year",
          "value": "365",
          "help": "From 365 to 366 with up to six decimal places. Use 365.2425 for an average year.",
          "type": "text",
          "inputMode": "decimal",
          "maxLength": 32
        }
      ],
      "registrationFamily": "exact-money-form-reference",
      "presentation": "metrics",
      "note": "Each plan price is multiplied by its charges per year. Weekly plans use the weeks per year you set; monthly figures are the yearly cost divided by 12. Each plan is rounded first and totals add the rounded plans. Processing stays on your device.",
      "inputMaxLength": 200000,
      "inputErrorCode": "EXACT_MONEY_FORM_REFERENCE_TOO_LONG",
      "inputKeywords": [
        {
          "id": "exact-money-form-reference/subscription-cost-calculator/plans.header",
          "kind": "header",
          "code": "EXACT_MONEY_FORM_REFERENCE_PLANS_COLUMNS",
          "fold": "name",
          "values": {
            "name": [
              "name",
              "Plan",
              "Name",
              "Subscription",
              "Service"
            ],
            "price": [
              "price",
              "Price",
              "Amount",
              "Cost"
            ],
            "frequency": [
              "frequency",
              "Billing frequency",
              "Frequency",
              "Billing",
              "Every"
            ],
            "trialMonths": [
              "trialMonths",
              "Free trial months",
              "Trial",
              "Trial months"
            ]
          },
          "describedBy": [
            "Name the plan columns Plan, Price, Billing frequency and Free trial months in the header row.",
            "Plans"
          ]
        },
        {
          "id": "exact-money/frequency",
          "kind": "cell",
          "code": "EXACT_MONEY_FORM_REFERENCE_FREQUENCY",
          "fold": "name",
          "values": {
            "daily": [
              "daily",
              "Daily"
            ],
            "weekly": [
              "weekly",
              "Weekly"
            ],
            "biweekly": [
              "biweekly",
              "Every two weeks",
              "fortnightly"
            ],
            "four-weekly": [
              "four-weekly",
              "Every four weeks"
            ],
            "semimonthly": [
              "semimonthly",
              "Twice a month",
              "twicemonthly"
            ],
            "monthly": [
              "monthly",
              "Monthly"
            ],
            "bimonthly": [
              "bimonthly",
              "Every two months"
            ],
            "quarterly": [
              "quarterly",
              "Quarterly"
            ],
            "semiannual": [
              "semiannual",
              "Twice a year",
              "semiannually",
              "halfyearly"
            ],
            "annual": [
              "annual",
              "Yearly",
              "yearly",
              "annually"
            ],
            "biennial": [
              "biennial",
              "Every two years"
            ],
            "triennial": [
              "triennial",
              "Every three years"
            ]
          },
          "describedBy": [
            "Use a supported frequency: daily, weekly, biweekly, four-weekly, semimonthly, monthly, bimonthly, quarterly, semiannual, annual, biennial or triennial.",
            "Billing frequency"
          ]
        }
      ],
      "experience": {
        "automatic": false,
        "single": false,
        "inputMaxLength": 200000,
        "inputMode": "text",
        "label": "Subscription plans",
        "placeholder": "plan;price;frequency;trial months\nStreaming;15.49;monthly\nCloud storage;99.99;yearly\nGym;12.00;weekly\nNews;5.00;monthly;1",
        "help": "One plan per line with a header row: plan, price, frequency and optional trial months. Frequencies include weekly, every two weeks, monthly, quarterly and yearly. Write prices without currency symbols. Up to 200,000 characters. Review the settings before running.",
        "action": null
      },
      "mode": "explicit",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# Subscription cost calculator\n\n- Human page: https://happytails.ai/en/finance-tools/subscription-cost-calculator/\n- Markdown: https://happytails.ai/en/finance-tools/subscription-cost-calculator.md\n- Structured JSON: https://happytails.ai/agents/en/finance-tools/subscription-cost-calculator/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `subscription-cost-calculator` |\n| Category | finance-tools |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Use the visible action or interactive controls. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nEach plan price is multiplied by its charges per year. Weekly plans use the weeks per year you set; monthly figures are the yearly cost divided by 12. Each plan is rounded first and totals add the rounded plans. Processing stays on your device.\n\n### Inputs and settings\n\nText input: Subscription plans.\n\nExample or placeholder shown in the interface (not a validated fixture):\n\n```text\nplan;price;frequency;trial months\nStreaming;15.49;monthly\nCloud storage;99.99;yearly\nGym;12.00;weekly\nNews;5.00;monthly;1\n```\n\nOne plan per line with a header row: plan, price, frequency and optional trial months. Frequencies include weekly, every two weeks, monthly, quarterly and yearly. Write prices without currency symbols. Up to 200,000 characters. Review the settings before running.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `currency` | Currency code | text | \"USD\" |  |\n| `precision` | Currency decimal places | select | \"2\" | Allowed: 0, 1, 2, 3, 4, 5, 6 |\n| `rounding` | Rounding | select | \"half-up\" | Allowed: half-up, half-even, half-down, down, up, floor, ceiling |\n| `weeksPerYear` | Weeks per year | text | \"52\" |  |\n| `daysPerYear` | Days per year | text | \"365\" |  |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nUp to 200 plans and 200,000 characters. Prices up to 1,000,000,000,000 with up to the selected currency decimal places (0 to 6). Free trials from 0 to 12 months. Weeks per year from 52 to 53 and days per year from 365 to 366, each with up to six decimal places. Calculated on your device. Download a JSON report and CSV files.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"subscription-cost-calculator\",\n  \"category\": \"finance-tools\",\n  \"built\": true,\n  \"requirements\": \"Up to 200 plans and 200,000 characters. Prices up to 1,000,000,000,000 with up to the selected currency decimal places (0 to 6). Free trials from 0 to 12 months. Weeks per year from 52 to 53 and days per year from 365 to 366, each with up to six decimal places. Calculated on your device. Download a JSON report and CSV files.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"currency\",\n        \"label\": \"Currency code\",\n        \"value\": \"USD\",\n        \"type\": \"text\",\n        \"maxLength\": 3,\n        \"autoCapitalize\": \"characters\"\n      },\n      {\n        \"key\": \"precision\",\n        \"label\": \"Currency decimal places\",\n        \"value\": \"2\",\n        \"type\": \"select\",\n        \"values\": [\n          \"0\",\n          \"1\",\n          \"2\",\n          \"3\",\n          \"4\",\n          \"5\",\n          \"6\"\n        ]\n      },\n      {\n        \"key\": \"rounding\",\n        \"label\": \"Rounding\",\n        \"value\": \"half-up\",\n        \"type\": \"select\",\n        \"values\": [\n          \"half-up\",\n          \"half-even\",\n          \"half-down\",\n          \"down\",\n          \"up\",\n          \"floor\",\n          \"ceiling\"\n        ],\n        \"labels\": {\n          \"half-up\": \"Half up (ties away from zero)\",\n          \"half-even\": \"Half even (ties to even)\",\n          \"half-down\": \"Half down (ties toward zero)\",\n          \"down\": \"Toward zero (truncate)\",\n          \"up\": \"Away from zero\",\n          \"floor\": \"Toward negative infinity\",\n          \"ceiling\": \"Toward positive infinity\"\n        }\n      },\n      {\n        \"key\": \"weeksPerYear\",\n        \"label\": \"Weeks per year\",\n        \"value\": \"52\",\n        \"help\": \"From 52 to 53 with up to six decimal places. Use 52.1775 for an average year.\",\n        \"type\": \"text\",\n        \"inputMode\": \"decimal\",\n        \"maxLength\": 32\n      },\n      {\n        \"key\": \"daysPerYear\",\n        \"label\": \"Days per year\",\n        \"value\": \"365\",\n        \"help\": \"From 365 to 366 with up to six decimal places. Use 365.2425 for an average year.\",\n        \"type\": \"text\",\n        \"inputMode\": \"decimal\",\n        \"maxLength\": 32\n      }\n    ],\n    \"registrationFamily\": \"exact-money-form-reference\",\n    \"presentation\": \"metrics\",\n    \"note\": \"Each plan price is multiplied by its charges per year. Weekly plans use the weeks per year you set; monthly figures are the yearly cost divided by 12. Each plan is rounded first and totals add the rounded plans. Processing stays on your device.\",\n    \"inputMaxLength\": 200000,\n    \"inputErrorCode\": \"EXACT_MONEY_FORM_REFERENCE_TOO_LONG\",\n    \"inputKeywords\": [\n      {\n        \"id\": \"exact-money-form-reference/subscription-cost-calculator/plans.header\",\n        \"kind\": \"header\",\n        \"code\": \"EXACT_MONEY_FORM_REFERENCE_PLANS_COLUMNS\",\n        \"fold\": \"name\",\n        \"values\": {\n          \"name\": [\n            \"name\",\n            \"Plan\",\n            \"Name\",\n            \"Subscription\",\n            \"Service\"\n          ],\n          \"price\": [\n            \"price\",\n            \"Price\",\n            \"Amount\",\n            \"Cost\"\n          ],\n          \"frequency\": [\n            \"frequency\",\n            \"Billing frequency\",\n            \"Frequency\",\n            \"Billing\",\n            \"Every\"\n          ],\n          \"trialMonths\": [\n            \"trialMonths\",\n            \"Free trial months\",\n            \"Trial\",\n            \"Trial months\"\n          ]\n        },\n        \"describedBy\": [\n          \"Name the plan columns Plan, Price, Billing frequency and Free trial months in the header row.\",\n          \"Plans\"\n        ]\n      },\n      {\n        \"id\": \"exact-money/frequency\",\n        \"kind\": \"cell\",\n        \"code\": \"EXACT_MONEY_FORM_REFERENCE_FREQUENCY\",\n        \"fold\": \"name\",\n        \"values\": {\n          \"daily\": [\n            \"daily\",\n            \"Daily\"\n          ],\n          \"weekly\": [\n            \"weekly\",\n            \"Weekly\"\n          ],\n          \"biweekly\": [\n            \"biweekly\",\n            \"Every two weeks\",\n            \"fortnightly\"\n          ],\n          \"four-weekly\": [\n            \"four-weekly\",\n            \"Every four weeks\"\n          ],\n          \"semimonthly\": [\n            \"semimonthly\",\n            \"Twice a month\",\n            \"twicemonthly\"\n          ],\n          \"monthly\": [\n            \"monthly\",\n            \"Monthly\"\n          ],\n          \"bimonthly\": [\n            \"bimonthly\",\n            \"Every two months\"\n          ],\n          \"quarterly\": [\n            \"quarterly\",\n            \"Quarterly\"\n          ],\n          \"semiannual\": [\n            \"semiannual\",\n            \"Twice a year\",\n            \"semiannually\",\n            \"halfyearly\"\n          ],\n          \"annual\": [\n            \"annual\",\n            \"Yearly\",\n            \"yearly\",\n            \"annually\"\n          ],\n          \"biennial\": [\n            \"biennial\",\n            \"Every two years\"\n          ],\n          \"triennial\": [\n            \"triennial\",\n            \"Every three years\"\n          ]\n        },\n        \"describedBy\": [\n          \"Use a supported frequency: daily, weekly, biweekly, four-weekly, semimonthly, monthly, bimonthly, quarterly, semiannual, annual, biennial or triennial.\",\n          \"Billing frequency\"\n        ]\n      }\n    ],\n    \"experience\": {\n      \"automatic\": false,\n      \"single\": false,\n      \"inputMaxLength\": 200000,\n      \"inputMode\": \"text\",\n      \"label\": \"Subscription plans\",\n      \"placeholder\": \"plan;price;frequency;trial months\\nStreaming;15.49;monthly\\nCloud storage;99.99;yearly\\nGym;12.00;weekly\\nNews;5.00;monthly;1\",\n      \"help\": \"One plan per line with a header row: plan, price, frequency and optional trial months. Frequencies include weekly, every two weeks, monthly, quarterly and yearly. Write prices without currency symbols. Up to 200,000 characters. Review the settings before running.\",\n      \"action\": null\n    },\n    \"mode\": \"explicit\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nConvert weekly, monthly, yearly and other recurring plans into one monthly and yearly total. Includes first-year cost after free trial months.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use Subscription cost calculator\n\n1. Paste one plan per line with its price and billing frequency.\n2. Add free trial months where a plan has one.\n3. Check the weeks and days per year, the currency and rounding.\n4. Calculate and download the plan table.\n\n## Useful next steps\n\n- [Savings goal](https://happytails.ai/en/finance-tools/savings-goal/) ([Markdown](https://happytails.ai/en/finance-tools/savings-goal.md))\n\n- [Expense splitter](https://happytails.ai/en/calculators/expense-splitter/) ([Markdown](https://happytails.ai/en/calculators/expense-splitter.md))\n\n- [Trip Budget Calculator](https://happytails.ai/en/calculators/trip-budget-calculator/) ([Markdown](https://happytails.ai/en/calculators/trip-budget-calculator.md))\n\n## One basis for every plan\n\nEach price is multiplied by its charges per year: 52 for weekly, 26 for every two weeks, 24 for twice a month, 12 for monthly and 1 for yearly. These period counts match the pay period table in IRS Publication 15-T (2026). A 12.00 weekly gym plan costs 624.00 a year and 52.00 a month. Change the weeks per year to 52.1775 and the days per year to 365.2425 if you prefer an average Gregorian year.\n\n### Rounding and trials\n\nEach plan is rounded to the currency decimal places first, and totals add the rounded plans, so the table always adds up. A yearly plan shows its monthly equivalent, for example 99.99 a year is 8.33 a month. First-year cost removes free trial months as twelfths of the yearly cost; it does not follow exact billing dates, price changes or taxes.\n"
}