Money order fees range from about 70 cents to $5, depending on where you buy them and the amount

The cost of a money order is not fixed — it depends on the issuer and the dollar amount you are sending. A money order for $500 at Walmart might cost 88 cents, while the same amount at a bank could cost $3 to $5. Post offices, grocery stores, check-cashing services, and banks all set their own prices, so the fee you pay varies by location and institution.

Money order fees are separate from the amount you are sending. If you buy a $200 money order that costs $1.50, you pay $201.50 total — the recipient gets $200. The fee is what the issuer charges you for creating and guaranteeing the money order.

Key Takeaways

  • Money order fees typically range from 70 cents to $5, with lower fees at discount retailers like Walmart and higher fees at banks.
  • The fee you pay depends on the issuer and the amount of the money order, not on a national standard rate.
  • Post offices, Walmart, grocery stores, and check-cashing services all sell money orders at different prices.
  • Calling ahead or checking a retailer's website before you buy can save you money if you are sending a large amount.

Where to buy money orders and typical costs

Walmart charges 88 cents for money orders up to $1,000 and $1.24 for amounts between $1,000 and $5,000. This is one of the lowest fees available.

The U.S. Postal Service charges between $1.45 and $2.00 depending on the amount — smaller orders cost less. Post offices are widely available, but fees are higher than Walmart.

Banks typically charge $3 to $5 per money order. If you have a checking account with the bank, some institutions waive the fee or charge less. Call your bank to ask about their rate and whether account holders get a discount.

Check-cashing services and grocery store customer service desks (like those at Kroger, Safeway, or Albertsons) usually charge $1 to $3. Fees vary by location, so call ahead if you want to know the exact price.

How the amount you are sending affects the fee

Most issuers charge a flat fee regardless of whether you are sending $100 or $1,000. However, some charge a higher fee for larger amounts. Walmart, for example, charges 88 cents for orders up to $1,000 but 36 cents more for orders between $1,000 and $5,000.

The U.S. Postal Service also uses tiers: a money order for $1 to $500 costs $1.45, while one for $500.01 to $1,000 costs $1.95. If you are sending a large amount, check whether your issuer charges more before you buy.

Money orders have maximum limits. Most issuers will not sell you a single money order for more than $1,000. If you need to send more than that, you will have to buy multiple money orders, which means paying multiple fees.

Ways to reduce what you pay

Shop around before you buy. If you are sending $500 and Walmart charges 88 cents while your bank charges $5, buying at Walmart saves you $4.12. A quick phone call to nearby retailers takes five minutes and can tell you the cheapest option.

Ask your bank if you get a discount as a customer. Some banks waive money order fees for checking account holders or charge a reduced rate. If you bank somewhere, this is worth asking about before you pay full price elsewhere.

Combine smaller amounts into one money order if possible. If you are sending money to the same person multiple times, one larger money order costs less in total fees than several smaller ones. For example, two $500 money orders at Walmart cost $1.76 in fees, but one $1,000 money order costs only 88 cents.

Consider whether a money order is the right tool. If you are sending money to someone with a bank account, a bank transfer or peer-to-peer payment app like Venmo or PayPal may be free or cheaper. Money orders are most useful when the recipient does not have a bank account or when you need a may provide payment method.

What happens after you buy a money order

Once you pay the fee and the amount, the issuer gives you the money order. You fill in the recipient's name, sign it, and keep the receipt. The recipient takes it to their bank or a check-cashing service to deposit or cash it.

If a money order is lost or stolen before the recipient cashes it, you can request a refund or replacement from the issuer. Keep your receipt — you will need it to prove you bought the money order and to track it if something goes wrong.

Frequently Asked Questions

Can I get a refund if I change my mind about buying a money order?

Yes, most issuers will refund your money if you have not yet given the money order to the recipient. You will need to bring the receipt and the unused money order back to where you bought it. Some places may charge a small fee to cancel, but most do not.

Do I have to pay the fee even if the money order is not cashed?

Yes. The fee is what you pay to buy the money order, not a charge that happens when it is cashed. Once you have paid for it, the fee is gone whether the recipient cashes it when ready or months later.

Is there a difference between a money order and a cashier's check?

Both are may provide payments, but cashier's checks are issued by banks and typically cost $5 to $15. Money orders are cheaper and available at more locations, but cashier's checks are often preferred for large amounts like down payments on a house. For everyday payments under $1,000, a money order is usually the better choice.

What if the issuer goes out of business after I buy a money order?

Money orders issued by banks and the U.S. Postal Service are backed by those institutions and remain valid. If you buy from a check-cashing service that closes, contact the service's parent company or the state banking regulator — the money order is still good and can be cashed or replaced.