Money order fees range from about 70 cents to $5, depending on where you buy them and how much money you're sending

The cost of a money order is not the same everywhere. A money order fee is what you pay the issuer — the bank, post office, or store — for creating and guaranteeing the money order itself. This fee is separate from the amount of money you're putting on the money order. If you buy a $500 money order at a place that charges $2, you pay $502 total: $500 goes on the money order, and $2 is the fee.

Where you buy the money order matters most. The United States Postal Service (USPS) charges between $1.45 and $1.95 depending on the amount. Banks often charge less — sometimes 50 cents to $1 — but only if you have an account with them. Walmart, grocery stores, and check-cashing services typically charge $0.70 to $3. The fee usually goes up as the amount of the money order increases, though not always in a straight line.

Key Takeaways

  • USPS money orders cost $1.45 to $1.95 in fees, with the higher price for amounts over $500.
  • Your bank may charge 50 cents to $1 if you have a checking or savings account, making it the cheapest option if you're a customer.
  • Walmart and grocery stores charge $0.70 to $3 depending on the amount, and you do not need an account to buy one.
  • The fee is added to the amount you send, so a $200 money order with a $1 fee costs you $201 out of pocket.
  • Money order limits vary by issuer — USPS caps them at $1,000, while some banks and retailers allow higher amounts.

USPS money order pricing

The Post Office charges $1.45 for money orders up to $500 and $1.95 for money orders from $500.01 to $1,000. You can buy them at any Post Office location, and you do not need to have a postal account. You'll need to bring cash or a debit card, and you'll need to know the recipient's name and address.

USPS money orders are insured and can be tracked, which makes them reliable for sending to people you don't know well or for important payments. The trade-off is that the Post Office has limited hours, and not every neighborhood has one nearby. If you're already mailing something, buying a money order at the same time can save you a trip.

Bank money order fees

Most banks charge between 50 cents and $1 per money order if you have a checking or savings account with them. Some banks do not charge a fee at all if you maintain a certain account balance or have direct deposit set up. Call your bank or check their website to find out what they charge — the fee varies by institution and sometimes by account type.

Banks usually allow higher money order amounts than the Post Office does. Many will issue money orders for $2,500 or more, though you may need to order them in advance or go to a branch in person. If you bank online only, you may not be able to buy money orders at all, so ask before assuming your bank offers them.

Retail and check-cashing locations

Walmart charges $0.88 for money orders up to $1,000 at most locations. Grocery store chains like Kroger, Safeway, and Albertsons typically charge $1 to $1.50. Check-cashing services and payday loan stores often charge $2 to $5, sometimes more, so they are usually the most expensive option. You do not need an account or membership to buy a money order at these places, though some require a photo ID.

The advantage of buying at a retail location is convenience — many are open early, late, and on weekends. The disadvantage is that fees vary widely, and some locations have lower limits on the amount you can send. Always ask the fee before you hand over your money, because it is not always posted clearly.

How money order limits affect what you pay

If you need to send more than $1,000, you'll have to buy more than one money order, which means paying multiple fees. Sending $2,000 through USPS costs you $3.90 in fees (two money orders at $1.95 each). Sending the same amount through Walmart costs $1.76 (two money orders at $0.88 each). If you're sending a large amount, the fee difference adds up quickly.

Some banks and wire transfer services allow larger single transactions, so if you're sending a significant amount of money, it's worth asking your bank whether a wire transfer or cashier's check might be cheaper or faster than multiple money orders.

What affects the total cost

The amount you're sending determines the fee tier at most places. USPS jumps from $1.45 to $1.95 at $500.01. Walmart charges the same $0.88 whether you're sending $100 or $1,000. Some check-cashing services charge a percentage of the amount instead of a flat fee, so a $500 money order might cost $5 while a $100 one costs $1.

Your location also matters. Fees can vary between branches of the same bank or between different Walmart locations. Rural areas sometimes have fewer options, which can mean higher fees or longer hours. If you have a choice between multiple places, calling ahead to compare fees takes five minutes and can save you several dollars on a large money order.

Frequently Asked Questions

Can I get a money order without paying a fee?

Some banks waive the fee if you have a premium account or maintain a high balance. A few credit unions also offer assistance programs orders to members. Your best bet is to call your bank or credit union and ask what accounts may have access to. Otherwise, expect to pay at least 50 cents to $1.

Is it cheaper to send money by wire transfer instead?

Wire transfers typically cost $15 to $30, so they're more expensive than money orders for small amounts. They're faster and better for large sums or time-sensitive payments. For amounts under $500, a money order is almost always cheaper. For amounts over $2,000, a wire transfer may be worth the extra cost.

Do I have to pay the fee upfront?

Yes. The fee is added to the amount you hand over at the counter. If you want to send $200 and the fee is $1, you pay $201 total. The recipient receives only the $200 on the money order itself.

What if the money order gets lost or stolen?

USPS and bank money orders can be replaced if you have the receipt and the money order number. Retail money orders vary — some can be replaced, others cannot. Keep your receipt until the money order is cashed. The fee is not refunded if the money order is lost.

Can I return a money order and get my money back?

Most places will not refund a money order once it's been issued. Some will cancel it if you bring back the receipt unused, but the fee is usually kept. Check the return policy before you buy, especially if you're unsure about the recipient's address or name.