ForHosting KIT · Finance & money

Coupon rate calculator

A bond with a face value of 1,000 that pays 50 of coupons a year has a 5% coupon rate. Enter the annual coupon cash and the face value to recover the rate printed on the term sheet or offering memo. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Annual coupon
50
Face value
1,000
You get
Coupon rate
5
Coupon rate decimal
0.05

The coupon rate of a bond is the contractual annual interest the issuer pays, expressed as a percentage of face (par) value. It is not yield to maturity, which discounts remaining cash flows at the market price, and it is not current yield, which divides the same annual coupon by today's quoted price instead of par. Operations teams, students, and spreadsheet owners recover that printed rate whenever a term sheet lists dollar coupons and a face amount separately. This coupon rate calculator divides annual coupon payments by face value and multiplies by one hundred, returning the rate as a percentage plus the equivalent decimal.

What coupon rate means and how annual coupon over face becomes a percent

The coupon rate is the bond's contractual annual cash interest as a percent of face value: annual coupon payments divided by par, times one hundred. A one-thousand face bond that pays fifty dollars of coupons each year has a five percent coupon rate; a one-hundred par municipal that pays four dollars and fifty cents annually has a four-and-a-half percent coupon. That figure is printed on the indenture and does not move when the market price moves.

A discount bond can still have a five percent coupon while its yield to maturity sits above five percent; a premium bond can have the same five percent coupon while yield to maturity sits below it. Current yield is a third number: annual coupon over the dirty price, not over par. Zero-coupon instruments are the special case of a zero annual coupon, so the coupon rate is zero even though the investor's entire return is the pull from the discounted purchase price up to face at maturity.

Face value must be a finite number greater than zero; a zero par cannot divide and is rejected instead of inventing a rate. Annual coupon may be zero for a true zero-coupon bond, or any other finite non-negative cash total in the same currency as face.

Term-sheet coupon from dollar cash

Turn an annual coupon payment and a face (par) amount into the printed coupon rate percent shown on an indenture or offering memo.

Fixed-income homework and LMS keys

Mark problems that ask students to compute coupon rate as annual coupon over face, including the zero-coupon case of a zero annual payment.

How is a bond coupon rate calculated?

Send the total coupon cash paid in one year and a positive face (par) value. A fifty-dollar annual coupon on a one-thousand face is a five percent coupon rate.

What is the difference between coupon rate, current yield, and YTM?

Coupon rate divides annual coupon by face value. Current yield divides the same annual coupon by today's market price. Yield to maturity is the discount rate that equates remaining coupons plus redeemed face to the current price. This calculator returns only the contractual coupon rate.

What happens if face value is zero?

Coupon rate is annual coupon divided by face, so a zero face is not a valid denominator.

My bond pays coupons twice a year. What do I enter?

The total for the whole year. If the bond pays two equal coupons a year, add them together and enter that sum, 50 in the example, not a single payment, or the rate will come out at half its true value.

Does the coupon rate change when the bond's price changes?

No. It is fixed in the bond's terms as a percent of face value. When the price moves, the yield to maturity moves instead: a bond bought at a discount yields more than its coupon, one bought at a premium yields less.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/fin/coupon-rate

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/fin/coupon-rate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"annual_coupon":50,"face_value":1000}'
{
  "annual_coupon": 50,
  "face_value": 1000
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "fin.coupon_rate",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

A zero face value is rejected with invalid_input because it cannot be the denominator.

What coupon rate means and how annual coupon over face becomes a percent

This endpoint does not fetch live quotes, day-count calendars, or credit spreads. It applies the definition you supply so homework keys, landing-page widgets, and automation share one auditable percentage. Frequency is already collapsed into the annual coupon you send: if a bond pays twenty-five dollars twice a year, pass fifty as annual_coupon, not the per-period cash. The returned coupon_rate is the percentage people quote on term sheets; coupon_rate_decimal is the same ratio as a fraction, so a five percent coupon is five and zero point zero five respectively.

Input contract, response shape, and error behaviour

Optional decimals is an integer from zero through twelve (default six) controlling half-up rounding on the percentage and the decimal rate. Face value is the field the product contract singles out: a zero face is never silently replaced with one hundred or one thousand, and a missing face is not treated as zero. Failed validation does not consume balance, which keeps exploratory scripts cheap when developers intentionally send a zero face to confirm the error path. POST a JSON body with two required finite numbers. annual_coupon (aliases annual_coupon_payment, coupon_payment, coupon, and annual_payment) is the total coupon cash the bond pays in one year, in currency units. It must be finite and greater than or equal to zero so a true zero-coupon bond is allowed. face_value (aliases face, par, and par_value) is the redemption or par amount in the same currency and must be a finite number strictly greater than zero. On success the body echoes annual_coupon and face_value, then coupon_rate as a percentage, coupon_rate_decimal as the equivalent fraction, and a formula string restating coupon_rate equals annual coupon over face times one hundred. Example: fifty dollars of annual coupons on a one-thousand face returns coupon_rate five and coupon_rate_decimal zero point zero five. Missing fields, non-finite values, a negative annual coupon, or a face value that is zero or negative fail with invalid_input naming the field and are not billed. Prefer plain JSON numbers over strings with currency symbols or percent signs; numeric strings are accepted only when they match a strict finite number pattern without commas or labels. Pricing is a fixed $0.002 per successful call with unit item.

Where a coupon rate calculator earns its keep

Educators and LMS platforms need an oracle for the definition question that asks students to compute coupon rate from annual coupon and face, including the zero-coupon case, without a full market-data terminal. Content teams can contrast coupon rate with current yield and yield to maturity on a discount bond so readers see why three different percentages can describe the same instrument. Use this capability when you already have annual coupon dollars and par; if you have a market price and remaining years and want the hold-to-maturity discount rate, use a bond yield-to-maturity calculator instead of this indenture coupon definition. Back-office files often store annual coupon cash and face in separate columns; a deterministic endpoint recovers the percent without a spreadsheet cell that someone might later rewrite as current yield by dividing by market price. Integrators wire the endpoint into notebooks, workflow tools, or edge workers to pin goldens whenever a portfolio extract changes the stored coupon cash or par. Keep face_value strictly positive, pin the rounded coupon_rate fields in tests, and you get reproducible coupon percentages for widgets, classrooms, and production without standing up a fixed-income library of your own.

Portfolio files that store cash and par separately

Recover coupon_rate from annual coupon cash and face columns without accidentally dividing by market price (that would be current yield).

Can I model a zero-coupon bond or a semi-annual payer?

Yes. Set annual_coupon to zero for a zero-coupon bond (coupon rate 0%). For a bond that pays twice a year, pass the sum of those coupons as annual_coupon, not the per-period cash.

What does the coupon rate calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →