Updates automatically as you type.
Calculated in your browser; your inputs are not sent to us. Privacy
Calculation details
Planning estimate only, not financial, tax, or legal advice. Verify assumptions and current rules before making decisions.
This tool runs in your browser. Your calculator inputs and results are never transmitted to us or to ad/affiliate partners. Ads and sponsored links may set third-party cookies to serve and measure them, but they never receive your calculation values. If you explicitly save a scenario, its permitted fields stay in local browser storage until you clear them. See our Privacy Policy.
Use this result
Share the current inputs or ask ChatGPT to explain the calculation in context.
More options
What does this calculator estimate?
Bond calculator: compute bond price, yield to maturity, and coupon payments from face value, rate, and term. Free, editable inputs, runs in your browser.
How this calculator works
Formula
Price = coupon x (1 - (1 + r)^-n) / r + face / (1 + r)^n; current yield = annual coupon / price.
Worked example
A $1,000 face bond, 5% coupon, 10 years, priced to a 6% market rate: $926.40, a $73.60 discount, 5.40% current yield.
Cite this tool
BoringToolsKit. “Bond Calculator.” boringtoolskit.com/bond-calculator/ (reviewed August 2026). Free to reference in articles, syllabi, and answer posts with a link.
Privacy: Inputs and results stay in this browser. Any future sponsored recommendation or advertisement will be clearly labeled and kept separate from the calculation.
A worked example: $1,000 face, 5% coupon, 2 years, 6% market rate
Take a bond with a $1,000 face value, a 5% annual coupon, two years left, and a market rate of 6%. The coupon payment is $1,000 x 0.05 = $50 per year. Because the market rate (6%) is above the coupon rate (5%), the bond must price below face value.
The calculator discounts each cash flow separately. Year 1 coupon: $50 / 1.06 = $47.17. Year 2 coupon: $50 / 1.06^2 = $50 / 1.1236 = $44.50. Year 2 face value: $1,000 / 1.1236 = $889.9964. Adding them gives $47.1698 + $44.4998 + $889.9964 = $981.67.
At that price the current yield is $50 / $981.67 = 5.09%, higher than the 5% coupon because you buy the same $50 payment for less than face. The premium/discount line reads -$18.33, the discount to face. If you held to maturity, your total return would still be 6% per year, the market rate, because the $18.33 discount compensates for the below-market coupon. If rates dropped to 5%, price would equal exactly $1,000 and the discount would be $0.00.
Boundary cases the model does not cover
A 0% coupon bond (a zero-coupon bond) is the cleanest edge case: every term in the coupon loop is $0, so the price is just the discounted face value. At a 6% rate over 10 years, price = $1,000 / 1.06^10 = $558.39, and the current-yield line shows 0.00% since the numerator is $0.
At a 0% market rate the discount factors are all 1, so price equals face value plus all remaining coupons: a $1,000 face, 4% coupon, 5-year bond prices at exactly $1,200. The current yield is then $40 / $1,200 = 3.33%, below the coupon rate, and the premium line reads +$200.
Three real-world features are outside this model. First, it assumes annual coupons; most US bonds pay semiannually, which shifts the price. The same 5% bond at a 6% market rate, priced semiannually, comes out near $981.71 instead of $981.67, a small gap that grows with the coupon and term. Second, it uses a flat rate for every year, while real yield curves differ by maturity, so a 10-year bond priced with a flat 6% can diverge noticeably from a curve-based price. Third, there is no credit spread input: a corporate bond trading at a 6% yield when Treasuries yield 4% is really a 2% spread over its risk-free benchmark, and that spread, not the headline rate, is what moves when credit conditions change. Prices here are also clean prices; accrued interest between coupon dates is not added.