Marriott Bonvoy is one of the largest and most rewarding hotel loyalty programs in the world, offering members the chance to earn and redeem points at over 8,000 properties across 30+ brands. Understanding how to maximize your point earnings can significantly enhance your travel experiences, leading to free nights, room upgrades, and other exclusive benefits.
How Bonvoy Points Are Earned
Earning Bonvoy points primarily happens through hotel stays, but there are several other avenues to boost your balance:
Hotel Stays: The most common way to earn points is by staying at Marriott properties. Most brands offer 10 base points per eligible U.S. dollar spent on room rates and qualifying incidentals. However, some extended-stay brands like Element, Residence Inn, and TownePlace Suites earn 5 base points per dollar.
Elite Status Bonuses: As you climb the Bonvoy elite status tiers, you unlock bonus points on top of your base earnings:
Silver Elite: 10% bonus points
Gold Elite: 25% bonus points
Platinum Elite: 50% bonus points
Titanium Elite: 75% bonus points
Ambassador Elite: 75% bonus points
Marriott Co-branded Credit Cards: Using a Marriott Bonvoy credit card for your hotel stays can significantly accelerate your earnings. Many cards offer elevated earning rates (e.g., 6 points per dollar) on Marriott purchases, in addition to the points you earn directly from the hotel. These points are separate from your base and elite bonus points.
Promotions: Marriott frequently runs global and targeted promotions that allow members to earn extra points. These can include double points, bonus points for multiple stays, or fixed point bonuses. Our calculator includes a "Promotion Multiplier" to help you factor these into your estimates.
Other Activities: Points can also be earned through Marriott Bonvoy Tours & Activities, car rentals, cruises, and even dining at participating restaurants without a stay.
Using the Bonvoy Points Calculator
Our Marriott Bonvoy Points Calculator simplifies the process of estimating your earnings. Here's how to use it:
Total Hotel Spend (USD): Enter the estimated total amount you expect to spend on your hotel stay, including room rate and eligible incidentals.
Base Points per Dollar: Most Marriott brands earn 10 points per dollar. For Element, Residence Inn, and TownePlace Suites, enter 5.
Marriott Bonvoy Elite Status: Select your current elite status level from the dropdown menu to apply the correct bonus percentage.
Marriott Co-branded Credit Card Points per Dollar: If you're paying with a Marriott Bonvoy credit card, enter the points per dollar it earns on Marriott purchases (e.g., 6 for many premium cards). If you're not using a co-branded card, enter 0.
Promotion Multiplier: If there's an active promotion, enter the corresponding multiplier. For example, enter '2' for a double points promotion, '1.5' for a 50% bonus, or '1' if there's no promotion.
Click "Calculate Bonvoy Points" to see a detailed breakdown of your estimated earnings, including base points, elite bonus, promotion bonus, and credit card points, culminating in your total estimated Bonvoy points.
Maximizing Your Bonvoy Earnings
To get the most out of the Bonvoy program:
Always book directly with Marriott (via their website, app, or phone) to ensure you earn points and receive elite benefits.
Consider applying for a Marriott Bonvoy co-branded credit card to earn points faster and potentially gain automatic elite status.
Keep an eye on Marriott's promotions page and register for all eligible offers.
Understand the earning rates for different Marriott brands, especially for extended-stay properties.
Happy travels and happy earning!
/* Basic styling for the calculator */
.bonvoy-calculator-container {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
max-width: 700px;
margin: 20px auto;
padding: 25px;
border: 1px solid #e0e0e0;
border-radius: 8px;
background-color: #ffffff;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
.bonvoy-calculator-container h2 {
color: #333;
text-align: center;
margin-bottom: 20px;
font-size: 26px;
}
.bonvoy-calculator-container h3 {
color: #555;
margin-top: 25px;
margin-bottom: 15px;
font-size: 20px;
}
.bonvoy-calculator-container p {
color: #666;
line-height: 1.6;
margin-bottom: 10px;
}
.calculator-input-group {
margin-bottom: 18px;
}
.calculator-input-group label {
display: block;
margin-bottom: 8px;
font-weight: bold;
color: #444;
font-size: 15px;
}
.calculator-input-group input[type="number"],
.calculator-input-group select {
width: calc(100% – 22px); /* Account for padding and border */
padding: 12px 10px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 16px;
color: #333;
box-sizing: border-box; /* Include padding and border in the element's total width and height */
}
.calculator-input-group input[type="number"]:focus,
.calculator-input-group select:focus {
border-color: #007bff;
outline: none;
box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
}
.bonvoy-calculator-container button {
display: block;
width: 100%;
padding: 14px 20px;
background-color: #007bff;
color: white;
border: none;
border-radius: 5px;
font-size: 18px;
font-weight: bold;
cursor: pointer;
transition: background-color 0.3s ease, transform 0.2s ease;
margin-top: 25px;
}
.bonvoy-calculator-container button:hover {
background-color: #0056b3;
transform: translateY(-1px);
}
.calculator-results {
margin-top: 30px;
padding: 20px;
border: 1px solid #d4edda;
background-color: #e2f0e4;
border-radius: 8px;
}
.calculator-results h3 {
color: #28a745;
margin-top: 0;
font-size: 22px;
text-align: center;
}
.calculator-results p {
font-size: 16px;
color: #333;
margin-bottom: 8px;
display: flex;
justify-content: space-between;
align-items: center;
}
.calculator-results p strong {
font-size: 18px;
color: #000;
}
.calculator-results span {
font-weight: bold;
color: #007bff;
}
.calculator-results p:last-child {
margin-bottom: 0;
padding-top: 10px;
border-top: 1px dashed #c3e6cb;
}
.calculator-article {
margin-top: 40px;
padding-top: 20px;
border-top: 1px solid #eee;
}
.calculator-article h4 {
color: #444;
margin-top: 20px;
margin-bottom: 10px;
font-size: 18px;
}
.calculator-article ul, .calculator-article ol {
margin-left: 20px;
margin-bottom: 15px;
color: #666;
}
.calculator-article ul li, .calculator-article ol li {
margin-bottom: 8px;
line-height: 1.5;
}
/* Responsive adjustments */
@media (max-width: 600px) {
.bonvoy-calculator-container {
padding: 15px;
margin: 10px;
}
.bonvoy-calculator-container h2 {
font-size: 22px;
}
.calculator-input-group label,
.calculator-input-group input[type="number"],
.calculator-input-group select,
.bonvoy-calculator-container button {
font-size: 14px;
}
.calculator-results h3 {
font-size: 20px;
}
.calculator-results p {
font-size: 14px;
}
.calculator-results p strong {
font-size: 16px;
}
}
function calculateBonvoyPoints() {
// Get input values
var hotelSpend = parseFloat(document.getElementById('hotelSpend').value);
var basePointsPerDollar = parseFloat(document.getElementById('basePointsPerDollar').value);
var eliteStatusBonusPercentage = parseFloat(document.getElementById('eliteStatus').value);
var creditCardMultiplier = parseFloat(document.getElementById('creditCardMultiplier').value);
var promotionMultiplier = parseFloat(document.getElementById('promotionMultiplier').value);
// Validate inputs
if (isNaN(hotelSpend) || hotelSpend < 0) {
alert('Please enter a valid positive number for Total Hotel Spend.');
return;
}
if (isNaN(basePointsPerDollar) || basePointsPerDollar < 1) {
alert('Please enter a valid positive number for Base Points per Dollar (e.g., 5 or 10).');
return;
}
if (isNaN(creditCardMultiplier) || creditCardMultiplier < 0) {
alert('Please enter a valid non-negative number for Credit Card Points per Dollar.');
return;
}
if (isNaN(promotionMultiplier) || promotionMultiplier < 1) {
alert('Please enter a valid number for Promotion Multiplier (1 or greater).');
return;
}
// Calculations
var basePoints = hotelSpend * basePointsPerDollar;
var eliteBonus = basePoints * eliteStatusBonusPercentage;
// Points eligible for promotion are base points + elite bonus
var promoEligiblePoints = basePoints + eliteBonus;
// Promotion bonus is the *additional* points from the multiplier (e.g., for 2x, it's 1x bonus)
var promotionBonus = promoEligiblePoints * (promotionMultiplier – 1);
var creditCardPoints = hotelSpend * creditCardMultiplier;
var totalPoints = basePoints + eliteBonus + promotionBonus + creditCardPoints;
// Display results
document.getElementById('basePointsResult').innerText = basePoints.toLocaleString('en-US');
document.getElementById('eliteBonusResult').innerText = eliteBonus.toLocaleString('en-US');
document.getElementById('promotionBonusResult').innerText = promotionBonus.toLocaleString('en-US');
document.getElementById('creditCardResult').innerText = creditCardPoints.toLocaleString('en-US');
document.getElementById('totalPointsResult').innerText = totalPoints.toLocaleString('en-US');
}
// Run calculation on page load with default values
window.onload = function() {
calculateBonvoyPoints();
};