Not every bank offers money orders, and the ones that do may charge different fees or have limits on the amount

Some banks issue money orders, but many do not. The banks that do offer them usually charge between $5 and $15 per money order, depending on the amount and the bank. Your best option is to call your bank first and ask whether they issue money orders and what they charge — this takes two minutes and saves a trip.

If your bank does not offer them, or if the fee is too high, you have other places to go. The U.S. Postal Service, Walmart, Western Union, and MoneyGram all issue money orders, often for less than banks charge. Each has different limits on how much you can send in a single money order, and fees vary by location and amount.

Key Takeaways

  • Call your bank before visiting to confirm they issue money orders and what the fee is, since not all banks offer them.
  • The U.S. Postal Service, Walmart, Western Union, and MoneyGram are common alternatives if your bank does not offer money orders or charges too much.
  • Money order limits and fees differ by issuer and location, so comparing a few options takes only a few minutes.
  • You will need cash or a debit card to buy a money order at most places — credit cards are usually not accepted.

What banks typically charge for money orders

Banks that offer money orders usually charge a flat fee per money order, not a percentage of the amount. A $500 money order and a $5,000 money order from the same bank often cost the same to issue. Fees at banks typically range from $5 to $15, though some banks charge more for larger amounts or for money orders sent to other countries.

Large national banks like Chase, Bank of America, and Wells Fargo offer money orders at most of their branches, but regional banks and credit unions vary widely. Some issue them at no charge to customers, while others do not offer them at all. This is why calling ahead matters — you may have a free option at your own bank and not know it.

When the post office is cheaper

The U.S. Postal Service charges $1.45 for a money order up to $500, and $1.95 for a money order from $500.01 to $1,000. This is significantly less than most banks charge. You can buy a postal money order at any post office location during business hours, and you do not need to be a customer of anything — just bring cash or a debit card.

Postal money orders are also useful if you need to send money to someone outside the United States. The post office can issue international money orders, though the fee is higher and the process takes longer. If you are sending money within the U.S., the post office is usually the cheapest option.

Walmart and other retail locations

Walmart issues money orders at the customer service desk in most stores. The fee is typically around $0.88 for amounts up to $1,000, making it one of the cheapest options available. You can pay with cash or a debit card, and the process takes just a few minutes.

Other grocery stores and convenience stores sometimes issue money orders as well, though not all do. Kroger, Safeway, and some local grocery chains offer them, usually at fees similar to Walmart. Call ahead to confirm your nearest store offers them and what they charge.

Western Union and MoneyGram for larger amounts

Western Union and MoneyGram are money transfer services that also issue money orders. They are available at thousands of locations, including grocery stores, pharmacies, and check-cashing shops. Their fees are higher than the post office or Walmart — typically $5 to $15 depending on the amount — but they offer higher limits on single money orders.

Western Union and MoneyGram allow money orders up to $2,500 or more per transaction, compared to $1,000 at the post office. If you need to send a large amount and do not want to buy multiple money orders, these services may be worth the extra fee. You can find locations and current fees on their websites.

What you need to bring and how to pay

To buy a money order, bring the following: cash or a debit card to pay for the money order and the fee, the name of the person or business the money order is for (the payee), and your own name and address. Some places ask for a phone number or identification, though this varies by location and issuer.

Credit cards are not accepted for money orders at most places, including banks, the post office, and Walmart. This is a rule set by the payment networks, not by the individual businesses. If you do not have cash or a debit card, you will need to withdraw cash from an ATM first.

Limits on how much you can send in one money order

The U.S. Postal Service caps money orders at $1,000 per order. If you need to send more than $1,000, you will need to buy multiple money orders. Western Union and MoneyGram allow higher amounts — often $2,500 or more — but charge higher fees.

Banks do not have a standard limit across all institutions. Some allow money orders up to $5,000 or $10,000, while others cap them at $1,000. Ask your bank what their limit is when you call to confirm they offer money orders.

Frequently Asked Questions

Can I buy a money order online and pick it up at a bank?

Most banks do not offer online money order ordering. You will need to visit a branch in person with cash or a debit card. Some banks may allow you to order by phone, but this is rare — call your bank to ask.

What if I need a money order after the bank closes?

Walmart, grocery stores, and some convenience stores are often open later than banks and on Sundays. The post office has limited weekend hours at most locations. Check the hours of the nearest Walmart or grocery store in your area.

Do I need a bank account to get a money order?

No. You can buy a money order at the post office, Walmart, Western Union, or MoneyGram without a bank account. You only need cash or a debit card and the name of the person or business you are sending it to.

Can I get my money back if I change my mind?

Yes, but the process varies by issuer. The post office will refund your money order minus a fee (usually around $1.10). Banks, Walmart, and other services have their own refund policies — ask before you buy.

What is the difference between a money order and a cashier's check?

A money order is smaller and cheaper, usually capped at $1,000. A cashier's check is issued by a bank, has no limit, and costs more (typically $10 to $15). Use a money order for smaller amounts and a cashier's check for larger payments.