Light (Low alcohol preference)
Average (Standard mix)
Heavy (Party crowd)
Yes
No
Drink Selection Mix (%)
Your Shopping List
Total Drinks Needed:0
Wine (750ml bottles):0
Beer (Cans/Bottles):0
Liquor (750ml bottles):0
Champagne (750ml bottles):0
* Based on standard servings: 5 glasses per wine bottle, 16 drinks per 750ml liquor bottle, and 8 toast pours per champagne bottle.
How to Plan Your Wedding Alcohol Supply
Planning the bar for a wedding is one of the most stressful logistical tasks for any couple. You don't want to run out of beer mid-reception, but you also don't want to overspend on cases of liquor that will sit in your garage for years. This wedding alcohol calculator uses industry-standard formulas to estimate exactly what you need.
The "Two Plus One" Rule
Our calculator relies on the professional catering standard: guests typically consume two drinks during the first hour (cocktail hour) and one drink for every subsequent hour of the reception. If your wedding is 5 hours long, you should budget for roughly 6 drinks per guest.
Realistic Examples
Example 1: The Standard 100-Guest Wedding
For a 5-hour reception with an average drinking crowd and a standard 40/40/20 split (40% beer, 40% wine, 20% liquor):
Total Drinks: ~600
Beer: 240 servings (10 cases)
Wine: 48 bottles (4 cases)
Spirits: 8 bottles (750ml)
Consider Your Crowd
The percentages used in the calculator should be adjusted based on your specific guests. If you are having a summer outdoor wedding, beer consumption often increases. If you are serving a heavy steak dinner, your guests might lean more heavily toward red wine. For a formal black-tie event, liquor and cocktails usually take the lead.
Don't Forget the Extras
While the calculator covers the alcohol, remember to budget for:
Mixers: Club soda, tonic, cola, ginger ale, and juices.
Garnishes: Lemons, limes, olives, and cherries.
Ice: Plan for 1 to 1.5 pounds of ice per person for chilling and serving.
Water: Ensure there is plenty of bottled or filtered water available to keep guests hydrated.
function calculateWeddingDrinks() {
var guests = parseInt(document.getElementById('guestCount').value);
var hours = parseInt(document.getElementById('eventHours').value);
var intensity = document.getElementById('drinkIntensity').value;
var toast = document.getElementById('champagneToast').value;
var bPerc = parseFloat(document.getElementById('beerPerc').value) / 100;
var wPerc = parseFloat(document.getElementById('winePerc').value) / 100;
var sPerc = parseFloat(document.getElementById('spiritsPerc').value) / 100;
if (isNaN(guests) || isNaN(hours) || (bPerc + wPerc + sPerc) === 0) {
alert("Please enter valid numbers and ensure drink percentages are set.");
return;
}
// Base calculation: 2 drinks first hour, 1 drink every hour after
var baseDrinksPerPerson = 2 + (hours – 1);
// Adjust for intensity
if (intensity === "light") {
baseDrinksPerPerson = baseDrinksPerPerson * 0.7;
} else if (intensity === "heavy") {
baseDrinksPerPerson = baseDrinksPerPerson * 1.3;
}
var totalDrinks = Math.ceil(guests * baseDrinksPerPerson);
// Drink splits
var beerServings = totalDrinks * bPerc;
var wineServings = totalDrinks * wPerc;
var spiritsServings = totalDrinks * sPerc;
// Convert to bottles/cases
// 1 bottle wine = 5 glasses
var wineBottles = Math.ceil(wineServings / 5);
// 1 bottle liquor = 16 drinks (750ml)
var spiritsBottles = Math.ceil(spiritsServings / 16);
// Beer is 1 per serving
var beerTotal = Math.ceil(beerServings);
// Champagne Toast
var champagneBottles = 0;
if (toast === "yes") {
document.getElementById('champagneRow').style.display = 'grid';
// 1 bottle champagne = 8 toast pours
champagneBottles = Math.ceil(guests / 8);
} else {
document.getElementById('champagneRow').style.display = 'none';
}
// Display Results
document.getElementById('totalDrinksCount').innerText = totalDrinks;
document.getElementById('wineBottles').innerText = wineBottles;
document.getElementById('beerCases').innerText = beerTotal;
document.getElementById('spiritsBottles').innerText = spiritsBottles;
document.getElementById('champagneBottles').innerText = champagneBottles;
document.getElementById('weddingResult').style.display = 'block';
}