Wedding budget breakdown by category calculator
A wedding budget becomes easier to manage when the total is translated into clear category targets.
Run — free
This calculator applies a practical set of commonly cited planning percentages to venue, catering, photography, videography, attire, flowers and decor, entertainment, stationery, transportation, cake, gifts, and contingency. Enter one positive total and receive a complete breakdown that adds back to the same amount. The result is a starting framework, not a requirement, so couples can compare priorities before requesting quotes or signing contracts.
Turn one total into a workable first draft
A total budget is useful as a boundary, but it does not tell you what an individual vendor can reasonably cost. This wedding budget breakdown converts that single figure into twelve planning targets. The largest shares go to the venue and catering because those expenses often scale with the guest count and shape many later decisions. Photography, attire, flowers and decor, entertainment, videography, stationery, transportation, cake, favors and gifts, and a contingency reserve complete the plan. The percentages total exactly 100%, and the calculator works in cents so the displayed amounts also add back to the entered total after rounding. Treat the output as a neutral first draft for discussion. It can reveal that a preferred venue would consume money intended for food, or that an elaborate floral concept requires savings elsewhere. Starting with a full allocation makes those tradeoffs visible before deposits create commitments that are difficult or expensive to change.
Understand and adjust the percentage guidelines
Percentage guidelines describe a typical balance, not a universal definition of the perfect wedding. This split assigns 28% to the venue, 24% to catering, 10% to photography, 8% each to attire and flowers and decor, 7% to entertainment, 6% to videography, 2% each to stationery, transportation, cake, and contingency, and 1% to favors and gifts. Your circumstances may justify a very different distribution. A restaurant reception may combine venue and catering into one quote, while a family property may reduce the site fee but introduce rentals, power, sanitation, or weather protection costs. Couples who value photographs most may move money from decor into photography; couples who do not want video can redirect that entire category. Keep the total fixed while making adjustments, and reduce another category whenever one grows. That simple discipline prevents a collection of individually reasonable upgrades from quietly pushing the whole celebration beyond the amount you chose to spend.
Use the breakdown when comparing real quotes
Once you have targets, replace estimates with written quotes and record what each quote includes. A venue price may include tables, chairs, service staff, taxes, or none of them. Catering can be presented per guest but still carry separate labor, rental, gratuity, and administrative charges. Photography packages may differ by hours, second shooters, albums, travel, and usage rights. Compare the complete expected cost with the relevant category target rather than comparing only the headline price. Keep the contingency allocation untouched until late in planning; it gives you room for overlooked fees, final guest-count changes, delivery charges, or necessary replacements. If taxes and gratuities are not included in vendor figures, add them before deciding that a category is under budget. Revisit the split after major bookings because actual costs provide better information than any general guideline. The calculator remains useful throughout planning: enter the revised total, compare the targets with committed spending, and decide deliberately where remaining money should go.
What you can do with it
Set vendor targets before requesting quotes
Convert the overall spending limit into category amounts that help filter venues and vendors before consultations begin.
Discuss priorities as a couple
Use a neutral baseline to identify which experiences matter most and which categories can fund those preferences.
Review an existing wedding plan
Compare deposits and current estimates with a complete allocation to spot categories that are consuming the reserve.
FAQ
How much does the calculator cost?
It is free to run in the browser. API requests cost $0.002 each.
Do the category amounts add up to the exact total?
Yes. The calculation allocates in cents and distributes any rounding remainder deterministically, so the category amounts reconcile with the displayed total.
Are these percentages mandatory?
No. They are planning guidelines intended to create a balanced starting point. Adjust them to reflect local prices, guest count, traditions, and personal priorities.
Where should taxes and gratuities go?
Include each tax, service charge, or gratuity in the category that creates it. This makes comparisons with vendor quotes more accurate.
Why is there a contingency category?
A small reserve helps absorb overlooked fees and late changes without forcing an immediate increase to the total budget.
What happens if the total budget is zero or negative?
The calculator returns an invalid-input error because a usable allocation requires a positive total budget.
For developers — API access
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.
API endpoint
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.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/life/wedding-budget-category-split \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total_budget":30000}'const res = await fetch("https://api.kit.forhosting.com/life/wedding-budget-category-split", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total_budget": 30000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/wedding-budget-category-split",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total_budget": 30000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/wedding-budget-category-split", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total_budget":30000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total_budget":30000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/wedding-budget-category-split", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"total_budget": 30000
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.wedding_budget_category_split",
"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.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |