Yes, most banks sell money orders, but not all locations carry them

You can get a money order at many banks, but availability depends on which bank you use and which branch you visit. Large national banks like Bank of America, Wells Fargo, and Chase typically offer money orders at most locations. Credit unions and smaller regional banks may sell them too, though some have stopped carrying them as fewer people use them.

The simplest way to find out is to call your bank's branch directly and ask if they sell money orders. If they do, ask what hours they're available — some branches only sell them during regular teller hours, not at the drive-through or ATM. If your bank doesn't carry them, you have other options: the post office, grocery stores with customer service desks, and check-cashing businesses all sell money orders.

Key Takeaways

  • Call your bank branch first to confirm they sell money orders and learn their hours, since not every location carries them.
  • You'll need cash or a debit card to buy a money order at a bank, and the fee is usually between $5 and $10 depending on the amount.
  • The post office and grocery stores are reliable alternatives if your bank doesn't sell money orders or their hours don't work for you.
  • You must fill in the recipient's name at the time of purchase — you cannot buy a blank money order and fill it in later.

What you need to bring and how much it costs

To buy a money order at a bank, bring cash or your debit card. You do not need a bank account at that bank — you can walk in off the street. Have the recipient's name ready, because you'll need to tell the teller exactly who the money order is payable to.

Bank money order fees vary. Most banks charge between $5 and $10 per money order, depending on the amount. A $500 money order might cost $7, while a $1,000 one might cost $10. Ask the teller for the exact fee before you hand over your cash — it will be added to the total amount you pay. Some banks waive the fee for customers with certain account types, so if you bank there, mention it.

The step-by-step process at the bank

Walk up to the teller window and say you want to buy a money order. The teller will ask you three things: how much money the order should be for, who it should be payable to (the recipient's name), and whether you want it for yourself or someone else. Have the recipient's full name spelled correctly — this matters because the person cashing it will need to match the name on the money order.

The teller will print the money order and show it to you before you pay. Check that the amount and recipient name are correct. Then you'll pay the amount plus the fee in cash or by debit card. The teller will give you the money order and a receipt. Keep the receipt until the recipient confirms they've cashed it — the receipt has a tracking number if something goes wrong.

Why some banks have stopped selling money orders

Fewer banks carry money orders than they used to. The reason is straightforward: fewer people use them. Digital payments, wire transfers, and apps like Venmo have replaced money orders for most transactions. Banks make very little profit on money orders, so branches that are short on staff or space have dropped them to focus on other services.

This is why calling ahead matters. A large bank branch in a busy area is more likely to have them than a small branch in a quiet neighborhood. If your bank doesn't carry them, don't assume no bank in your area does — try calling another branch or a different bank.

When to use a money order instead of other payment methods

Money orders are useful when the person you're paying won't take a personal check, you don't have a bank account, or you need a record of payment that's harder to dispute than cash. Landlords sometimes require them for security deposits. Utility companies occasionally ask for them if you're setting up service without a bank account. Some people use them to send money through the mail when they don't want to send cash.

Money orders are not the fastest way to send money — they take several days to clear once the recipient deposits them. If you need the money to arrive the same day, a wire transfer through your bank is faster, though it usually costs more. If you're paying someone in person and they'll take it, a personal check is free and just as safe.

Alternatives if your bank doesn't have money orders

The post office sells money orders at every location during regular hours. The fee is usually $1.45 to $2.00 depending on the amount, which is cheaper than most banks. You can also buy money orders at grocery stores with customer service desks — Walmart, Target, and most supermarkets sell them for similar fees. Check-cashing businesses sell them too, though their fees are often higher than banks or the post office.

The post office and grocery stores have longer hours than many bank branches, so they're often more convenient. The process is the same: tell them the amount and the recipient's name, pay the fee, and you walk out with the money order.

What happens if you make a mistake on a money order

If the teller makes a mistake before you leave the bank, tell them when ready and they'll cancel it and issue a new one. If you've already left and realize the recipient's name is spelled wrong or the amount is incorrect, you'll need to go back to the bank with your receipt. The bank can cancel the original and issue a replacement, though some banks charge a fee for this.

Once the money order has been cashed by the recipient, you cannot change it. This is why checking the details before you pay is important. If someone else cashes a money order with your name on it as the purchaser, you have a receipt with a tracking number that proves you bought it — the bank can investigate using that number.

Frequently Asked Questions

Can I buy a money order without an ID?

Most banks will sell you a money order without an ID if you pay in cash. Some may ask for ID as a security measure, especially for large amounts. Call your branch first to ask their policy. The post office requires ID for money orders over $3,000.

What's the maximum amount I can put on a money order?

Most banks and the post office cap money orders at $1,000 per order. If you need to send more, you can buy multiple money orders. Some check-cashing businesses allow higher amounts, but fees are usually higher too.

Can I buy a money order and leave the recipient name blank?

No. You must fill in the recipient's name at the time of purchase. This is a safety feature — it prevents someone from stealing a blank money order and filling in their own name. If you don't know the exact name yet, wait until you do before buying it.

How long does a money order take to clear?

Once the recipient deposits a money order at their bank, it usually clears within one to three business days. The bank that issued it (yours) has no control over this — it depends on the recipient's bank. Money orders are not when ready like wire transfers.

Do I need a bank account to buy a money order at a bank?

No. You can walk into any bank and buy a money order whether or not you have an account there. You'll pay in cash or with a debit card from any bank. The teller may ask for ID, but you don't need to be a customer.