Money order fees usually run between $0.50 and $5, depending on where you buy them and the amount you're sending

A money order fee is what the issuer charges you to create and may provide the payment. Unlike a cashier's check, which a bank issues and guarantees, money orders come from post offices, grocery stores, convenience stores, and other retailers — and each sets its own price. The fee is separate from the face value of the money order itself. If you buy a $500 money order for $2.50, you pay $502.50 total.

The fee does not depend on who receives the money order or how far it travels. It depends almost entirely on the issuer and the amount. A $100 money order at a Walmart might cost $0.88, while the same amount at a different location could cost $1.25. Post offices charge more than most retailers — typically $1.45 to $2.00 for amounts under $500 — but offer the broadest availability and the most consistent pricing.

Money orders have a maximum face value, usually $500 to $1,000 depending on the issuer. If you need to send more, you buy multiple money orders, which means you pay multiple fees. A $2,000 payment using four $500 money orders could cost you $8 to $20 in fees alone, making money orders expensive for large amounts.

Key Takeaways

  • Money order fees range from $0.50 to $5 and are set by the issuer, not by any standard rate.
  • Post offices charge more than grocery stores or convenience stores, but fees vary by location even within the same chain.
  • You pay the fee upfront in addition to the face value of the money order.
  • Sending large amounts requires multiple money orders, which multiplies your fees and makes the total cost unpredictable.
  • Some banks offer money orders to account holders at no fee or a reduced fee, so checking with your bank first can save money.

Where to buy money orders and what each place charges

Post offices are the most widely known source, but they are not the cheapest. The U.S. Postal Service charges a flat fee based on the amount: roughly $1.45 for money orders up to $500, and $2.00 for $500.01 to $1,000. Every post office uses the same pricing, so you know the cost before you go.

Grocery stores and supermarkets — Walmart, Kroger, Safeway, and others — typically charge $0.50 to $1.50 per money order. Walmart is often the lowest-cost option at many locations, though prices vary by store. Convenience stores like 7-Eleven and Circle K usually charge $1 to $2. The catch is that not every location offers money orders, and prices can differ between stores in the same chain or even the same neighborhood.

Banks and credit unions sometimes issue money orders to members at no fee or for a flat $1 to $2, which can be cheaper than retail options if you have an account. Call your bank first; many offer this as a member benefit. Western Union and MoneyGram, which operate through retail locations and online, charge higher fees — often $2 to $5 — because they add their own markup on top of the retailer's fee.

The only way to know the exact fee is to call ahead or ask in person. Online searches sometimes list outdated prices, and fees change without notice. If you are sending money regularly, comparing three or four nearby locations once can show you the cheapest option for your area.

How money order fees compare to cashier's checks and wire transfers

A cashier's check, which you get from a bank, typically costs $5 to $15 per check. That is higher than most money orders, but you only pay one fee no matter the amount — a $5,000 cashier's check costs the same as a $500 one. Money orders cap out at $500 to $1,000, so sending $5,000 means buying five to ten money orders and paying five to ten fees.

Wire transfers, whether domestic or international, cost $15 to $50 depending on your bank and the destination. They are faster than money orders — usually same-day or next-day — but much more expensive. Wire transfers make sense for urgent large payments; money orders make sense for smaller amounts where speed is not critical.

ACH transfers (bank-to-bank transfers) are often free or cost $1 to $3, but they take three to five business days and require the recipient's bank account number. Money orders work when you do not have that information or when the recipient does not have a bank account. The trade-off is that money orders cost more per transaction but work in more situations.

Why fees vary so much between locations and issuers

Money order pricing is not regulated by the federal government the way bank fees sometimes are. Each issuer sets its own price based on what it thinks customers will pay and what competitors charge nearby. A post office in a rural area might charge the same as one in a city because the Postal Service uses national pricing, but a Walmart in a wealthy suburb might charge less than one in a lower-income neighborhood because of local competition.

Retailers use money orders to draw customers into the store, so some deliberately price them low. Others treat them as a side service and charge more. Western Union and MoneyGram charge more because they provide tracking and the ability to pick up money orders at thousands of locations worldwide — services that cost them money to operate.

The issuer also absorbs the risk that a money order will not be cashed or will be lost or stolen. That risk is tiny, but it is built into the fee. A post office, which issues millions of money orders a year, spreads that risk across many transactions and can charge less per order. A small convenience store might charge more to cover the same risk across fewer sales.

When money order fees make the total cost too high

Money orders become expensive when you need to send a large amount or send money frequently. If you send $2,000 using four $500 money orders at $1.50 each, you pay $6 in fees. That is not much. But if you send $10,000 using twenty money orders, you pay $20 to $100 in fees depending on the issuer. At that point, a cashier's check at $10 or a wire transfer at $25 might be cheaper.

Recurring payments also add up. If you pay a contractor or vendor with money orders every month, the annual fee can reach $50 to $100 or more. Setting up a bank transfer or asking the recipient to accept a check might save money over time.

Money orders also require you to be present to buy them during business hours. If you need one at 11 p.m. on a Sunday, you cannot get one from a post office or bank. A convenience store might be open, but you will pay their fee. That convenience has a cost, and it is worth factoring in when you are deciding whether a money order is the right tool.

How to minimize money order fees

Call your bank or credit union first. Many offer money orders to members at no fee or a reduced fee. If you have an account, this is the cheapest option and often the fastest — you can get one while you are already there for other business.

If your bank does not offer them, compare prices at three nearby locations before you buy. Call the post office, a grocery store, and a convenience store. The difference between $0.50 and $2.00 per money order adds up if you are sending multiple orders or doing this regularly.

For large amounts, ask whether the recipient will accept a check or bank transfer instead. A check costs nothing to write, and a bank transfer might be free or cost $1 to $3. Both take longer than a money order, but if speed is not critical, you save money.

If you are sending money to someone who does not have a bank account, ask whether they can pick up the money at a Western Union or MoneyGram location instead of you buying a money order. Some senders offer this service, and it shifts the fee to them or eliminates it entirely.

Frequently Asked Questions

Can I get a refund if I paid the money order fee but changed my mind?

Yes, but with conditions. If you have not cashed the money order, you can return it to the issuer for a refund of the face value. The fee is usually non-refundable. Some issuers will refund the fee if the money order was never used, so ask before you assume it is gone. Bring your receipt and the unused money order.

Do I pay the fee even if the money order is never cashed?

Yes. You pay the fee when you buy the money order, not when it is cashed. If the recipient loses it or never deposits it, you have still paid the fee. You can request a replacement or refund, but the fee is already gone unless the issuer refunds it.

Is there a fee if I buy a money order online?

Some banks and credit unions allow members to order money orders online and pick them up in person, usually at no extra fee beyond what you would pay in branch. Western Union and MoneyGram offer online ordering with delivery or pickup, but they charge higher fees — often $5 to $10 — because of the convenience and the additional handling.

What if I need to send more than the maximum money order amount?

You buy multiple money orders. If the maximum is $500 and you need to send $1,500, you buy three money orders and pay three fees. This is why money orders become expensive for large amounts. A cashier's check or wire transfer might be cheaper and faster.

Do I have to pay tax on top of the money order fee?

No. Money order fees are not subject to sales tax in most states. You pay the fee plus the face value, and that is the total. Some states may vary, so ask the issuer if you are unsure.