Most banks sell money orders, but not all, and the cost and process vary by bank

Your bank probably sells money orders, but you need to call or visit in person to find out for certain. Banks that do sell them usually charge between $5 and $10 per money order, though some charge less and a few charge more. The price depends on which bank you use and sometimes on whether you have a checking account with them. Unlike a check, which you can write yourself, a money order is a piece of paper the bank issues on your behalf — it guarantees the money is there, which is why some landlords, utilities, or government offices ask for one instead of a personal check.

Not every bank offers money orders. Credit unions are more likely to sell them than large national banks. If your bank does not, you can get one at a grocery store, pharmacy, or check-cashing service, usually for $1 to $3. The trade-off is that those places may have lower limits on how much you can buy in a single money order — often $500 to $1,000 — while banks may allow higher amounts.

Key Takeaways

  • Call your bank's customer service line or visit a branch to ask if they sell money orders and what the fee is.
  • Bank money orders usually cost $5 to $10 each, and you may need to be a customer to buy one.
  • If your bank does not sell money orders, grocery stores, pharmacies, and check-cashing services offer them for $1 to $3.
  • Money orders from banks are useful when you need to send money to someone who does not trust a personal check.

How to buy a money order at your bank

Go to a branch in person or call the customer service number on the back of your debit card. Tell them you want to buy a money order. They will ask you how much you need and who the money order should be made out to — that is, whose name goes on it as the recipient. You will need to provide that person's name exactly as they would write it.

Bring cash or a debit card to pay for the money order itself plus the fee. Some banks require you to have an account with them; others will sell to anyone. Once you hand over the money, the teller will print the money order and give it to you. You then mail it or hand it to the person who asked for it. The recipient takes it to their own bank to deposit it, just like a check.

What information you need before you go

You need to know the exact name of the person or business the money order should be made out to. If you are paying a utility bill or a government office, they will tell you what name to use. Write it down before you go to the bank so you do not have to call them back.

You also need to know the exact amount. Money orders are printed for a specific dollar amount — you cannot write in a different amount later, the way you can with a check. If you are unsure whether you need $150 or $200, call the person you are paying and ask before you buy the money order.

Why banks charge more than other places

A bank money order costs more than one from a grocery store because the bank verifies your identity and keeps a record of the transaction. That record protects both you and the recipient. If the money order gets lost in the mail, the bank can issue a replacement. If there is a dispute about whether the money order was received, the bank has documentation.

A grocery store money order is cheaper because the store does less verification and keeps fewer records. For small amounts or one-time payments, that trade-off usually makes sense. For larger amounts or important payments — like rent or a court fee — a bank money order is worth the extra cost because you have proof and protection.

When your bank does not sell money orders

If you call your bank and they say they do not sell money orders, you have other options. Walmart, grocery stores like Safeway and Kroger, and pharmacies like CVS and Walgreens all sell them. Western Union and MoneyGram also sell money orders at thousands of locations, though they charge more than grocery stores do.

Check-cashing services sell money orders too, usually for $1 to $3. The downside is that check-cashing services often charge high fees for other services, so make sure you are only paying for the money order itself and not being charged extra for anything else. Ask the price before you hand over your money.

Money order limits and when they matter

Most banks allow you to buy a money order for up to $1,000 in a single transaction. Some allow higher amounts; a few cap it lower. If you need to send more than $1,000, you can buy multiple money orders, but that means paying multiple fees.

Grocery stores and pharmacies often cap money orders at $500 or $1,000 as well. If you need to send a large amount and your bank does not sell money orders, call ahead to find out what the limit is. For very large payments, a wire transfer or a cashier's check might be a better option — ask your bank what they recommend.

How to know if a money order arrived safely

When you buy a money order at a bank, ask for a receipt. The receipt has a tracking number on it. Keep that receipt until the person you sent the money order to confirms they received it and deposited it. If they say it never arrived, you can call the bank with the tracking number and ask them to investigate.

If the money order was lost or stolen, the bank can issue a replacement, but it may take a few weeks. That is why it is important to keep the receipt and to tell the person you are paying that you sent a money order — if they do not hear from you, they might assume you forgot to pay.

Frequently Asked Questions

Can I buy a money order without a bank account?

Yes. Most banks will sell a money order to anyone, whether or not you have an account with them. However, some banks only sell to customers. Call ahead to ask, or try a grocery store or pharmacy instead, which do not require an account.

What if I make a mistake on the money order?

You cannot fix a money order once it is printed. If you wrote down the wrong name or amount, you will need to buy a new one. Some banks will refund the fee if you catch the mistake right away, but ask first. That is why it is worth double-checking the name and amount before you hand over your money.

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

Yes. If cash gets lost or stolen, it is gone. A money order can be replaced if you have the receipt and tracking number. The recipient also cannot cash a money order made out to someone else's name, whereas anyone can spend cash.

How long does it take for a money order to clear?

Once the recipient deposits the money order at their bank, it usually clears within one to three business days, the same as a check. The money order itself is not the slow part — mailing it is. If you need the money to arrive quickly, ask the person you are paying whether they prefer a different method.

Can I get my money back if I bought a money order by mistake?

Yes, but only if you have not given it to anyone yet. Take the unused money order and your receipt back to the bank. They will refund your money minus the fee. Once someone else has the money order, you cannot cancel it.