Where to buy a bank money order and what it costs

You can buy a money order at most banks and credit unions during their regular business hours. Walk in with cash or a debit card, tell the teller you want a money order, and they will print one on the spot—usually within five minutes. The cost varies by bank: some charge $5 to $10 per money order, while others charge $1 to $3. A few banks offer them free to account holders. Call your bank first to confirm they sell money orders, what they charge, and whether you need to be a customer.

Not all banks carry them. Smaller credit unions sometimes don't stock money orders at all, so ask before you go. If your bank doesn't have them, you can buy one at a grocery store, pharmacy, or check-cashing service instead—though those typically cost more and may have lower limits on the amount you can order.

Key Takeaways

  • Banks print money orders on demand during business hours for a fee of $1 to $10, depending on the bank.
  • You need the recipient's name and address before you go to the bank, and you must bring cash or a debit card to pay.
  • The bank fills in the payee name and amount; you sign the back, and the recipient cashes it at their bank or a check-cashing service.
  • Money orders are safer than cash for mailing because they can be replaced if lost, but only if you kept your receipt and the money order number.
  • The maximum amount per money order is usually $500 to $1,000, so large payments require multiple orders.

What you need to bring and know before you go

Bring a form of payment—cash or a debit card. You cannot pay with a credit card at most banks. Bring your ID if you are not an account holder, though many banks will still sell you a money order without one.

Before you leave home, get the recipient's full name and mailing address. The bank will ask you to spell the name exactly as it should appear on the money order. If you get it wrong, the recipient may not be able to cash it. If the money order is for a business, use the business name, not the owner's name, unless you know the account is under a personal name.

Know the exact amount you need. The bank will print the amount on the money order, and you cannot change it after it is issued. If you need $500 and the bank's limit is $1,000, you can order just $500—you do not have to buy the maximum.

How the money order is filled out and what happens next

The teller will ask you for the payee name (the person or business receiving the money) and the amount. They print the money order with those details already filled in. You then sign the back of the money order in the space marked "purchaser" or "sender." Do not sign the front—that is where the recipient signs when they cash it.

The bank gives you a receipt with a confirmation number or money order number. Keep this receipt. If the money order is lost or stolen before the recipient cashes it, you will need the number to file a claim and get a replacement. The process for replacement varies by bank but usually takes one to two weeks.

You can mail the money order, hand it to the recipient in person, or give it to a third party to deliver. Money orders do not require a signature to cash, so treat it like cash once it leaves your hands—if it is lost in the mail, the recipient can cash it if they find it, and you will have a hard time recovering your money.

Money order limits and when you need multiple orders

Most banks cap money orders at $500 to $1,000 per order. If you need to send $3,000, you will have to buy three or four separate money orders. Each one costs the bank's fee, so a $3,000 payment might cost you $15 to $40 in fees alone.

Check your bank's limit before you go. Some banks allow you to buy multiple money orders in one visit, while others limit you to one per day or per transaction. If you need several, call ahead to confirm the bank can process them all at once.

Tracking and replacing a lost or stolen money order

If your money order does not arrive or you suspect it was stolen, contact your bank with the receipt and money order number. The bank will check whether it has been cashed. If it has not, they can issue a replacement, though this usually takes one to two weeks and may cost an additional fee ($15 to $25).

If the money order has already been cashed, you cannot recover the money. This is why mailing a money order is riskier than mailing a check—a check can be stopped if it is lost, but a money order cannot. For large amounts or important payments, consider using a bank wire transfer or certified mail with signature confirmation instead.

Alternatives when a bank money order is not available

If your bank does not sell money orders or you cannot get to a branch, you can buy one at a grocery store, pharmacy, or check-cashing service. Walmart, CVS, and Kroger all sell money orders. The cost is usually higher—$3 to $5—and the limits are often lower, typically $500 to $1,000.

A certified check is another option if you have a bank account. The bank prints a check and guarantees the funds are available, which makes it safer than a personal check. Certified checks cost $10 to $15 and take one business day to prepare. For very large amounts or payments to government agencies, a wire transfer or ACH transfer may be faster and safer, though those have their own fees and timelines.

Frequently Asked Questions

Can I buy a money order online from my bank?

Most banks do not sell money orders online. You have to go to a branch in person. Some banks may mail you a money order if you call and request it, but this takes several business days and is not standard. Check with your bank about their specific options.

What if I made a mistake on the money order?

If the teller made an error before you signed it, ask them to void it and issue a new one. If you signed it and then noticed a mistake, you cannot use it—ask the bank to cancel it and issue a replacement. Some banks charge a fee for this; others do not.

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

No. Most banks sell money orders to anyone with cash or a debit card, whether you are a customer or not. You may need to show ID. Call your bank to confirm their policy.

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

Once the recipient deposits or cashes a money order, it clears almost immediately—usually the same day or next business day. Money orders do not have the hold periods that checks sometimes do.

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

Yes, but only if the money order has not been cashed. Take it back to the bank with your receipt, and they will refund your money minus a cancellation fee (usually $5 to $10). If it has already been cashed, you cannot get a refund.