Payment Calculator Pro for HubSpot

A money calculator that drops into any page. Pick loan, mortgage, savings growth or subscription saving, and the module swaps its inputs, its results and its year-by-year table to match. Currency, separators and decimals are yours to set. No dependencies, no jQuery.

The first demo below is the module untouched. The three after it change only style fields — typeface, colour, radius, border weight, shadow, track and handle — to show how far the same module moves without a line of CSS.

Demo 1

Loan — out of the box

Every style field left at its shipped default: neutral-800 on white, a 14px card, 10px panel, 8px fields, a 4px track with a 24px handle, and one sans face. The only override is style.container.max_width, set to line the card up with the text on this page. Everything below changes those same fields and nothing else — this is the baseline they are measured against.

Work out your monthly payment

Move the sliders or type a figure. The payment, the interest and the year-by-year balance update as you go.

Monthly payment

Move a slider to see the payment.

per month

Breakdown

Amount borrowed
Total interest
Total repaid
Principal Interest

Year by year

These figures are an estimate. Lender terms, arrangement fees and rounding will change the final amount.


Demo 2

Mortgage — technical

A terminal-adjacent reading. typography.base_font and heading_font both go to IBM Plex Mono, so the figures line up in columns. container_radius and panel_radius drop to 2 and bar_radius to 0 for square corners; track_height thins to 2px; the palette moves to a cool slate (#0d1117 card, #161b22 panel, #30363d rules) and focus_color becomes a blue #58a6ff that only shows on keyboard focus. Hover lifts the button surface to #30363d. Tax and insurance are on, so the chart splits three ways and the amortisation table opens on load.

What this property costs each month

Set the price, the deposit and the term. Tax and insurance are folded into the monthly figure.

Monthly cost

Lower the deposit below the property price to see a payment.

per month, everything in

What makes up the payment

Principal and interest
Property tax
Buildings insurance
Amount borrowed
Deposit
Interest over the term
Repaid over the term
Principal and interest Property tax Buildings insurance

Balance over the term

Year Principal paid Interest paid Balance left

An estimate for guidance. Your lender sets the rate you are offered, and tax and insurance vary by address.


Demo 3

Savings — editorial

Warm paper and a display face. heading_font goes to Fraunces with base_font on Work Sans, heading_size up to 30. container_radius opens to 20 and panel_radius to 16, control_radius to 12 — rounded, and stopping well short of a pill so the number stays in a field and not a lozenge. container_shadow is medium with a brown shadow_color; the track thickens to 6px and takes a #7a5c3e fill. Panels are stacked, and the currency is a euro after the number with dot thousands and comma decimals — the number boxes follow the same setting, so the rate reads 3,6.

See what regular saving adds up to

Start with what you have, add a monthly amount, and watch the balance compound month by month.

Balance at the end

Choose a term of at least one year to see a balance.

after the full term

Where the balance comes from

Starting balance
Paid in
Earned in interest
Paid in Earned

Balance at the end of each year

A projection based on a steady rate of return. Rates move, and this calculator does not account for tax on interest.


Demo 4

Subscription — consumer finance

Soft and friendly. base_font and heading_font both go to Manrope, result_primary_size up to 48. border_width doubles to 2px against a lilac #e4e4f7, container_radius opens to 24 and panel_radius to 18, and container_shadow goes large with an indigo shadow_color. The track thickens to 8px with a #4f46e5 fill and a 3px handle border; focus_ring_width goes to 3. Hover tints the button #eeedff. The chart becomes two compare bars, the count-up is off so figures snap, and prices carry two decimals.

Work out what switching saves

Put in what you pay now, what you would pay on the new plan, and how long you plan to stay.

Total saved

Set a term of at least one month to see the saving.

across the whole term

Cost comparison

Saved each month
Current plan, whole term
New plan, whole term
Cost reduction
Current plan New plan

Saving as it builds

Based on list prices at today's rates. Taxes, seat changes and mid-term upgrades are not included.


Documentation

Module Guide

Features

Content Fields

Content

Currency and number format

Preset inputs

Each preset has its own group of sliders, and each slider carries the same fields: Label, Minimum, Maximum, Step, Starting value, and on the non-money sliders a Unit shown after the value.

Preset result labels

Every preset has a matching labels group so no text is fixed in the markup: the headline label and its caption, one label per breakdown row, the chart legend, and the column headers for the year-by-year table.

Settings

Style Controls

Container

Maximum width, padding, background, border colour, border width, corner radius, shadow (none, small, medium, large), shadow colour, and the gap between the input and result panels.

Colours

Typography

A base font and a heading font, each a font picker. The base font inherits from the host theme's body font when the module is dropped into a theme that sets one. Independent sizes for the heading, subheading, input label, input value, headline result, breakdown row, caption, table and disclaimer.

Input controls

Gap between inputs, slider track height, handle size, handle radius, handle border width, field corner radius, number field height and number field width.

Results and chart

Results panel padding and radius, gap between rows, chart height, chart radius, gap between chart segments, table row height and the table's maximum height before it scrolls.

Layout

A spacing unit that every internal gap is derived from, plus the tablet and mobile breakpoints.

Accessibility

Responsive Behavior

Demo Notes