Back to Calculators

Bond Price and Yield Calculator

Price a bond, solve its yield, maturity, face value or coupon, and see clean and dirty prices with the full cash-flow schedule

Changes labels only. Nothing is converted and no local rules apply.

Bond terms

Fixed-rate, noncallable bond bought on a coupon date.

Solved for: shown in the results

Repaid at maturity

Nominal annual rate; negative yields are allowed

Decimals are fine, for example 2.5

Calculated in your browser; nothing you enter is saved or sent. The currency label changes text only. Educational model, not investment advice.

Illustrative example shown: face value 100, 5% annual coupon, 6% yield, 3 years, annual coupons. Change a field and press Calculate.

Price
97.33 USD
97.3270 per 100 of face value
Yield to maturity
6.0000%
annual, nominal
Annual coupon
5.00 USD
5.0000% of face value
Discount to face value
2.67 USD
Current yield 5.1373% (coupon ÷ price)

Solved values and cash flows

Bond summary in USD
ItemValue
Face value100.00
Annual coupon5.00 (5.0000%)
Coupon frequencyAnnually
Years to maturity3
Coupon periods3
Yield to maturity6.000000%
Price97.33
Price per 100 of face97.3270

Coupon schedule

Coupon-date cash-flow schedule in USD
PeriodCouponRedemptionCash flowDiscount factorPresent value
15.000.005.000.9433964.72
25.000.005.000.8899964.45
35.00100.00105.000.83961988.16

The present values add up to the price of 97.33.

Coupon-date model: equal coupon payments of annual coupon / frequency, discounted at annual yield / frequency per period, plus the face value at maturity.

Calculate a bond price or solve a missing input

This calculator prices a fixed-rate bond that pays regular coupons and returns its face value at maturity. It has two tabs. The first assumes you buy on a coupon date and lets you choose which of five quantities to solve for: the price, the face value, the yield to maturity, the years to maturity or the annual coupon. You fill in the other four, plus the coupon frequency, and press Calculate. The second tab handles a purchase between coupon dates and returns the dirty price, the clean price and the accrued interest from real calendar dates.

The page opens with an example of a bond with a face value of 100, a 5% annual coupon, a 6% yield and three years to maturity. Its price is 97.3270, which is below face value because the coupon is lower than the yield.

Coupon rate, current yield and yield to maturity

Three different percentages describe a bond, and they answer different questions. The coupon rate is fixed by the bond contract: it is the annual interest the issuer pays, stated as a share of the face value. It does not change when the market price moves. The current yield divides that annual coupon by the price you actually pay today, so it moves whenever the price moves, but it ignores the gain or loss you lock in when the bond is repaid at face value. The yield to maturity is the single annual discount rate at which every remaining coupon and the final repayment add up to the price, so it captures the coupons, the repayment and the timing together.

Take a bond with a face value of 1,000, a 5% coupon paid twice a year and ten years to maturity, priced to give a 6% yield. Its price is 925.61. The coupon rate is still 5%, the current yield is 5.4018% because 50 divided by 925.61 is a little above 5%, and the yield to maturity is 6%. The yield to maturity is the higher number because buying below face value adds a gain at maturity that the current yield leaves out.

Three measures for the same bond: face value 1,000, 5% coupon paid twice a year, ten years, priced at 925.61
MeasureValueWhat it uses
Coupon rate5.0000%Annual coupon ÷ face value
Current yield5.4018%Annual coupon ÷ price
Yield to maturity6.0000%All cash flows, discounted to the price

The yield here is a nominal annual rate: with semiannual coupons it is applied as half of that rate each period. If you need to move between a nominal rate and an effective annual rate before you enter it, you can compare annual rate bases first and then come back.

Bond price formula and worked example

A bond is worth the present value of the cash it will pay. With m coupons a year, N = m × years coupon periods, a coupon C = annual coupon ÷ m and a periodic rate r = yield ÷ m, the price is C × (1 − (1 + r)^−N) ÷ r + F ÷ (1 + r)^N, where F is the face value. The first term is the value of the stream of coupons and the second is the value of the repayment. When the yield is zero the first term becomes C × N, and the page handles that case exactly instead of dividing by zero.

Discount coupons and redemption separately

Work through the 1,000 face value, 5% coupon, semiannual, ten-year bond at a 6% yield. There are 20 periods, each coupon is 25.00 and the periodic rate is 3%. The first cash flow of 25.00 is divided by 1.03 and is worth 24.27 today. The last cash flow is the final coupon plus the repayment, 1,025.00, divided by 1.03 twenty times, which is worth 567.52. Adding all 20 discounted cash flows gives the price of 925.61, and the coupon schedule on the page shows every one of them so you can check the sum yourself.

If you want to see the same discounting as a general time-value-of-money exercise, you can discount future cash flows with the BA II Plus style tool, which uses the same idea with payment, rate and period inputs.

A zero-coupon bond is the simplest case. With no coupons the price is just the repayment discounted: a face value of 100 due in five years at a 4% yield is worth 82.19. Whenever the yield is above the coupon rate the price sits below face value, and whenever it is below the coupon rate the price sits above it.

Solve face value, coupon or maturity

Because the price formula is linear in the face value and in the coupon, those two can be solved directly. Rearranging gives the face value from the price, and the annual coupon is m × (price − F ÷ (1 + r)^N) ÷ the coupon annuity factor. Feed the price of 925.61 back in with the other terms and the page returns a face value of 1,000.00 or an annual coupon of 50.00, which is the 5% on 1,000 that produced it. You can pick whether the coupon is a percentage of face value or a currency amount a year, and the solved field keeps the unit you chose.

The yield and the maturity cannot be written as a simple formula in the yield, so the page solves them numerically and then prices the bond forward to confirm the answer. The yield search covers −99% to 1,000%, and if no yield in that range reproduces your price the page says so instead of guessing. The maturity is solved in closed form from the discounted terms, and from the same price it returns 10.00 years. Fractional results are labelled as interpolated annuity periods, because a bond cannot have a coupon on a fraction of a period, and no coupon schedule is shown for them.

Some inputs cannot identify an answer at all. With zero years to maturity the price equals the face value for every yield and coupon. If the price equals the face value and the coupon rate equals the yield, every maturity gives the same price. The page reports these as not identifiable rather than showing an arbitrary number.

Clean price, dirty price and accrued interest

Most bonds are bought between coupon dates. The seller has held the bond since the last coupon and is owed that interest, so the buyer pays it on top of the quoted price. The accrued interest is the coupon earned from the previous coupon date to the settlement date. The clean price excludes it and is the figure usually quoted. The dirty price includes it and is what actually changes hands. The identity is simple: dirty price = clean price + accrued interest.

The settlement-date tab starts from a face value of 100, a 5% coupon, a 6% yield, annual coupons, settlement on 2026-10-28 and maturity on 2029-10-24. These dates are illustrative. The previous coupon date is then 2026-10-24 and the next is 2027-10-24, so 4 days have passed. With the 30/360 US convention the accrued interest is 0.0556, the dirty price is 97.3892 and the clean price is 97.3336. The clean price plus 0.0556 of accrued interest gives back the dirty price, and the present values in the schedule add up to it.

Day-count conventions and the coupon calendar

A day-count convention is the rule for measuring the part of a year between two dates. The tab offers four: 30/360 US, which treats months as 30 days and applies specific end-of-month adjustments; Actual/360, which counts real days over a 360-day year; Actual/365 Fixed, which counts real days over 365; and Actual/Actual ICMA, which measures a share of the actual coupon period. All dates are treated as calendar days in UTC, so daylight-saving changes never move a result.

The coupon calendar runs backwards from the maturity date at the chosen frequency. A maturity on a month end, such as 31 August, keeps every coupon on a month end, while another maturity day is clipped to the length of each month, so a 30th becomes the 28th or 29th in February. The yield clock counts regular coupon periods from settlement, using the share of the current period that has already elapsed. Settling on a coupon date means that coupon has already been paid, so accrued interest is zero and only later cash flows are included.

Why the selected basis changes cash coupons

In this model each cash coupon equals the face value times the annual coupon rate times the day-count fraction of that coupon period. That is why Actual/360 and Actual/365 Fixed can pay slightly different amounts in different periods, and why the schedule lists each fraction and cash coupon. For the example above the four conventions give these results:

Same bond and dates, four day-count conventions (per 100 of face value)
ConventionAccruedCleanDirty
30/360 US0.055697.333697.3892
Actual/3600.055697.531797.5873
Actual/365 Fixed0.054897.346697.4014
Actual/Actual ICMA0.054897.334497.3892

The differences are small here, about 0.0008 of accrued interest between the 30/360 and Actual/365 Fixed conventions, because only 4 days have passed. This is an explicit educational model of fixed accrual-rate coupons. Other pricing tools can compute the yield clock or the cash coupons differently, so do not expect every system to agree to the last decimal, and this page does not claim to reproduce every market convention.

What this bond model leaves out

The calculator assumes a fixed coupon, a fixed maturity and no early repayment. It does not model issuer credit risk or default, call or put options and yield to worst, floating or inflation-linked coupons, odd first or last coupon periods, holidays and business-day adjustments, ex-coupon periods, taxes, fees or the bid-ask spread. It also does not value Treasury savings bond redemptions, which follow different rules. The yield you enter is an assumption, not a market quote. If you want to turn a result into a realised outcome after the fact, you can measure a realised return from what you paid and received.

Bond calculator FAQ

Why does a bond price fall when yields rise?

A bond pays fixed cash flows. A higher yield is a higher discount rate, so each coupon and the repayment are worth less today and the price falls. A lower yield does the opposite.

Is current yield the same as yield to maturity?

No. Current yield is only the annual coupon divided by the price. It leaves out the gain or loss at repayment and the timing of the cash flows, which the yield to maturity includes.

What is the difference between clean and dirty price?

The dirty price is the clean price plus the interest accrued since the last coupon. The clean price is the usual quote, and the dirty price is the cash a buyer pays at settlement.

Can I price a zero-coupon bond?

Yes. Enter a coupon of zero and the price is the discounted face value. The coupon schedule then shows no interest payments, only the repayment at maturity.

Does this calculator value savings bonds or callable bonds?

No. Savings bond redemptions and callable bonds follow different rules and need other inputs. This tool prices fixed-rate, noncallable coupon bonds only.

Get New Free Calculators by Email

Get practical calculator guides and QuantStock updates. Occasional emails only, unsubscribe at any time.

No spam. See our privacy policy.