What Money Order Fees Cost and Why They Vary
Money order fees are small charges your bank or post office adds when you buy a money order, usually between 50 cents and $5 depending on where you buy it and how much the money order is for
A money order is a prepaid piece of paper that works like a check — you give someone cash upfront, they print your name as the buyer and the recipient's name on the form, and the recipient cashes it at their bank or post office. The fee is what the seller charges you for creating and guaranteeing that money order. Unlike a cashier's check, which a bank issues and guarantees, a money order can come from your bank, the post office, grocery stores, convenience stores, or check-cashing businesses — and each charges differently.
The fee you pay depends on three things: where you buy it, how much money the order is for, and whether you already have an account there. A post office money order for $500 might cost $1.45, while the same amount at a grocery store might be 99 cents or $2. If you buy one at a check-cashing store, the fee could be higher. Banks sometimes waive the fee for customers with certain account types.
Key Takeaways
- Money order fees range from about 50 cents to $5, with post offices and banks typically charging less than convenience stores or check-cashing businesses.
- The fee amount usually depends on the size of the money order — a $100 order costs less to issue than a $1,000 order.
- Some banks waive money order fees for customers with checking or savings accounts, so ask before you pay.
- You pay the fee upfront when you buy the money order, not when the recipient cashes it.
Where you buy a money order affects the fee
The United States Postal Service charges a flat fee based on the amount. For money orders up to $500, the fee is $1.45. For money orders from $500.01 to $1,000, the fee is $1.95. These prices are set nationally and do not change by location.
Banks vary widely. Some charge $5 to $10 per money order, while others charge nothing if you have a checking account with them. Call your bank and ask what they charge before you buy — many banks advertise this on their website under "services" or "fees."
Grocery stores, convenience stores, and check-cashing businesses set their own fees. A Walmart or grocery store money order might cost 70 cents to $1.50. A check-cashing store might charge $2 to $5 or more. These businesses compete on price, so fees can vary between locations and change over time.
How the money order amount affects what you pay
Most sellers charge more for larger money orders because they are taking on more risk. A $100 money order might cost 50 cents, while a $1,000 money order costs $1.95 at the post office. Some sellers have a flat fee no matter the size, while others charge a percentage of the total.
There is usually a maximum amount you can put on a single money order. The post office caps money orders at $1,000. Banks and other sellers may have different limits. If you need to send more than $1,000, you will need to buy multiple money orders, which means paying multiple fees.
When banks and post offices waive the fee
The post office does not waive fees — you always pay the amount listed above. Banks, however, sometimes waive money order fees for customers with certain account types. A checking account or premium savings account might include information programs orders as a benefit. Some banks offer one information programs order per month, while others offer unlimited information programs orders.
Ask your bank directly whether your account type includes information programs orders. If you do not have an account with a bank, you will pay the full fee at the post office or a check-cashing business.
Money order fees compared to other payment methods
A cashier's check, which you learned about earlier, typically costs $5 to $15 at a bank because a bank officer has to verify the funds and sign the check. A money order costs less because it is a simpler product — you hand over cash, they print a form. Wire transfers through a bank usually cost $15 to $30 because they move money electronically between banks. A personal check costs nothing because you are using your own account.
If you are sending a small amount — under $100 — a money order is often cheaper than a cashier's check. If you are sending a large amount and already have a bank account, a cashier's check might be worth the extra cost because it looks more official and some recipients prefer it.
How to find the lowest money order fee near you
Call or visit three places: your bank, the post office, and a grocery store or Walmart. Ask each one what they charge for a money order in the amount you need. Write down the fee and the location. The post office fee is the same everywhere, so you only need to call once. Banks and retailers vary by location, so call the specific branch or store you plan to visit.
If you have a bank account, ask whether the fee is waived for your account type. If it is, your bank is almost always the cheapest option. If not, compare the post office to your local grocery store or Walmart — the difference is usually less than a dollar, but it adds up if you buy money orders regularly.
What happens if you lose a money order or need to cancel it
If you buy a money order and then lose it or change your mind, you can request a refund or replacement. The seller will ask you to fill out a form and may charge a fee to cancel or replace it — typically $1 to $5. You will need the receipt from when you bought it, so keep that in a safe place.
The process takes time. At the post office, a replacement can take up to 30 days. Banks and retailers may be faster. If someone else cashes the money order before you cancel it, you cannot get your money back — the money order is already spent. This is why money orders are safer than cash for sending money through the mail, but you still need to be careful not to lose the receipt.
Frequently Asked Questions
Can I avoid the money order fee?
If you have a bank account, ask your bank whether they waive money order fees for your account type — many do. If you do not have a bank account or your bank charges a fee, the post office is usually the cheapest option at $1.45 to $1.95. You cannot avoid the fee entirely unless your bank waives it.
Is a money order fee the same everywhere?
Post office fees are the same nationwide. Bank and retailer fees vary by location and business. Call ahead to compare prices before you buy.
Do I pay the fee upfront or does the recipient pay it?
You pay the fee when you buy the money order. The recipient receives the full amount and does not pay anything to cash it.
What if the money order amount is over $1,000?
The post office caps money orders at $1,000. If you need to send more, buy multiple money orders and pay a fee for each one. Banks and other sellers may have different limits — ask before you buy.
Is it cheaper to send a money order or a cashier's check?
A money order costs $1.45 to $5, while a cashier's check costs $5 to $15. For small amounts, a money order is cheaper. For large amounts or when the recipient prefers a check, a cashier's check may be worth the extra cost.
This guide is for general information only and is not medical, financial, legal, or other professional advice. For decisions specific to your situation, consult a qualified professional. See our Editorial Policy.