Yes, most banks issue money orders, but not all branches carry them and some charge fees

You can get a money order at your bank if it offers them — but you need to check first, because not every bank does. Large national banks like Chase, Bank of America, and Wells Fargo issue money orders at most branches during business hours. Credit unions often issue them too, though policies vary by institution. The catch: you may need to be a customer, the branch may require advance notice, and you will pay a fee that ranges from $5 to $10 per money order depending on the bank.

The fastest way to learn about your bank issues money orders is to call the branch directly or check their website. If your bank does not offer them, or if you need one outside business hours, you have other options that are often faster and cheaper.

Key Takeaways

  • Most large banks issue money orders for $5 to $10 per order, but you must be a customer and may need to visit in person during business hours.
  • The U.S. Postal Service sells money orders at any post office for a flat fee of $1.45 for orders up to $500, making it the cheapest option for most people.
  • Walmart, grocery stores, and check-cashing services sell money orders 24/7 at fees ranging from $0.50 to $3, depending on the amount and location.
  • Money orders issued by banks take the same time to clear as those from other sources — typically one to three business days — so the issuer does not affect speed.
  • If you need a money order outside your bank's hours, a 24-hour retailer is usually faster and cheaper than waiting for the bank to open.

What happens when you buy a money order at a bank

When you go to your bank to buy a money order, you bring cash or use your debit card to pay the amount of the money order plus the fee. The teller fills in the payee name (the person or business receiving the money), the amount, and your name as the purchaser. You receive the original money order and a receipt stub. The receipt is your proof of purchase and shows the money order number — keep it until the recipient confirms they received and cashed it.

Banks typically issue money orders in amounts up to $1,000, though some allow higher amounts. The money order itself is a paper document that looks like a check and functions the same way: the recipient deposits or cashes it at their bank or financial institution. The funds come directly from your account or the cash you handed over, so the money order is backed by your bank's may provide.

How bank money orders compare to post office and retail options

The U.S. Postal Service is usually the cheapest option. Post offices charge a flat $1.45 for money orders up to $500 and $1.95 for orders from $500.01 to $1,000. You do not need to be a customer of anything — you just walk in with cash or a debit card. Post offices are open six days a week at most locations, and some urban branches have extended hours.

Retailers like Walmart, grocery stores, and check-cashing services offer 24-hour access in many locations. Walmart charges $0.50 to $1 depending on the amount. Other retailers and check-cashing services charge $1 to $3. The trade-off is convenience: you can get a money order at midnight on a Sunday, but you will pay more than the post office charges.

Banks charge the most ($5 to $10) but offer the advantage of a relationship with your financial institution if something goes wrong. However, this advantage is small: money orders from the post office or Walmart are just as secure and clear just as fast.

When a bank money order makes sense versus other sources

Use your bank if you are already there for another transaction and the fee does not bother you. If you have a large money order ($1,000 or more), some banks allow higher limits than the post office, so check both before you decide. If you want to keep all your financial records in one place and your bank offers online tracking of money order status, that may be worth the extra cost to you.

Use the post office if you want the lowest fee and can wait until business hours. Use a retailer if you need the money order outside post office hours and the extra $0.50 to $2 is worth the convenience. Use a check-cashing service if you do not have a bank account and need to convert cash into a money order.

How long it takes for a bank-issued money order to clear

A money order issued by your bank clears on the same timeline as one from the post office or Walmart: typically one to three business days after the recipient deposits it. The issuer does not affect the speed. What matters is when the recipient deposits it and their bank's processing time.

If you need the money to arrive faster, a money order is not the right tool — consider a wire transfer or ACH transfer instead, which can clear the same day or next business day. If the recipient needs proof that you sent the money, keep your receipt and ask them to confirm the money order number once they deposit it.

What to do if your bank does not offer money orders

Call ahead or check the bank's website to confirm they do not issue them. Some banks stopped offering money orders during the pandemic and have not resumed, while others never offered them. If your bank does not, the post office is your next stop: it is cheaper, faster to access, and requires no account.

If you need a money order after post office hours, Walmart and other retailers are open 24/7 in most areas. Some grocery stores and pharmacies also issue them during their regular hours. Check the store's website or call to confirm they offer money orders and what the fee is before you go.

Money order fees and how to avoid paying more than necessary

Bank fees range from $5 to $10 per money order. Post office fees are $1.45 or $1.95 depending on the amount. Retailer fees are $0.50 to $3. The difference adds up if you buy multiple money orders: five money orders at your bank cost $25 to $50, while five at the post office cost $7.25 to $9.75.

To keep costs down, buy all the money orders you need in one trip rather than making multiple trips. If you know you will need money orders regularly, the post office is the most economical choice. If you need just one and it is 11 p.m. on a Sunday, the extra $1 or $2 at Walmart is worth it.

Frequently Asked Questions

Do I have to be a bank customer to buy a money order there?

Most banks require you to have an account with them. Some banks will issue money orders to non-customers, but this is rare. Call your bank to ask, or go to the post office instead — no account required.

Can I buy a money order with a credit card?

Most banks and the post office do not accept credit cards for money orders because they treat it as a cash advance. Walmart and some retailers accept debit cards and cash. Check with the specific location before you go.

What if I lose the receipt for my money order?

Keep the receipt until the recipient confirms they cashed it. If you lose the receipt, you can contact the issuer (your bank, the post office, or the retailer) with the money order number to check its status, but you will need to prove you bought it. This is harder without the receipt, so keep it safe.

Can I cancel a money order after I buy it?

Yes, but it is not instant. Contact the issuer with your receipt and money order number. They will put a stop on it and issue a refund, minus a cancellation fee (usually $1 to $5). This takes several business days. If the money order has already been cashed, you cannot cancel it.

Is a money order safer than sending cash in the mail?

Yes. Cash can be lost or stolen and is not replaceable. A money order is traceable by number, and if it is lost or stolen, you can stop payment and get a refund. The recipient also knows exactly how much they are receiving because the amount is printed on the money order.