Not every bank sells money orders, and the ones that do have different rules

Most banks do not sell money orders at all. The ones that do—primarily larger national banks and some credit unions—usually sell them only to account holders, and often only during business hours. If you need a money order and do not have an account at a bank that offers them, you have faster options: grocery stores, pharmacies, check-cashing services, and the post office all sell money orders to anyone with cash or a debit card, no account required.

The reason banks stepped back from money orders is simple: they are low-margin products that require staff time to issue. A bank makes almost nothing on a $1.50 fee, so many stopped offering them entirely. Those that still do often treat them as a service for existing customers only, the way they might offer notarization or cashier's checks.

Key Takeaways

  • Most banks no longer sell money orders; those that do usually require you to be an account holder and may limit sales to business hours.
  • The post office, Walmart, grocery stores, and pharmacies sell money orders to anyone with cash or a debit card, with no account or ID requirements varying by location.
  • Money order fees range from about $0.70 at the post office to $3 or more at check-cashing services, so shopping around saves money on large orders.
  • If a bank does sell money orders, you can usually buy them at the teller window during regular hours, but calling ahead confirms availability and prevents a wasted trip.

Which banks still sell money orders and what they charge

Bank of America, Wells Fargo, Chase, and some regional banks and credit unions still sell money orders, but policies vary widely. Bank of America charges around $5 for a money order and requires an account. Wells Fargo charges roughly $3 to $5 depending on the amount and also requires an account. Credit unions are more likely to sell money orders to non-members than banks are, but this varies by institution.

The best approach is to call your bank directly and ask: "Do you sell money orders, do I need an account, and what is the fee?" This takes two minutes and saves you a trip. If your bank does sell them, ask whether you can buy them at any branch or only at certain locations, and whether there are limits on how many you can buy in one day.

Faster and cheaper alternatives to banks

The post office sells money orders to anyone and charges $1.45 for amounts up to $500 and $1.95 for $500 to $1,000. You need cash or a debit card, no ID required. Post offices are open six days a week in most places, and some locations have extended hours. This is usually the cheapest option if you have a post office nearby.

Walmart sells money orders at the money services desk for $0.88 for amounts up to $1,000. You need a valid ID and cash or a debit card. Most Walmarts are open until 10 or 11 p.m., making them convenient for evening purchases. Target also sells money orders for similar fees, though availability varies by location.

Grocery stores like Kroger, Safeway, and Albertsons sell money orders at the customer service desk, usually for $0.70 to $1.50 depending on the amount. Hours match store hours, which often extend into the evening. Pharmacies like CVS and Walgreens sell money orders for roughly $1 to $2, and many are open 24 hours.

Check-cashing services sell money orders but charge the most—typically $2 to $5 per order. Use them only if no other option is available, since you are paying two to three times what the post office charges.

What you need to bring and how long it takes

To buy a money order at any location, bring cash or a debit card. Most places do not require ID for money orders under $3,000, though some grocery stores and pharmacies may ask. The post office does not require ID. Walmart and Target do require a valid ID.

The transaction itself takes five to ten minutes. You tell the clerk the amount, they print the money order, you sign it, and you pay the fee. The money order is ready to use immediately—there is no waiting period. If you are buying multiple money orders, the process takes longer but is still usually done within fifteen minutes.

Limits on how much you can buy at once

Most retailers cap individual money orders at $1,000. The post office allows up to $1,000 per money order, but you can buy multiple money orders in one transaction if you need more. Walmart caps orders at $1,000. Grocery stores and pharmacies typically cap at $500 to $1,000 per order.

If you need more than $1,000, buy multiple money orders. For example, if you need $2,500, you can buy three money orders: two for $1,000 and one for $500. This takes a few extra minutes but is straightforward. Some locations may have daily purchase limits (for example, a maximum of five money orders per day), so if you need a large number, call ahead.

Why a bank money order might still make sense

Bank money orders and post office money orders are equally safe and accepted everywhere. The only reason to use a bank is convenience—if you already have an account there and are inside the branch anyway. Otherwise, the post office, Walmart, or a grocery store will be faster, cheaper, and open longer hours.

One exception: if you need a cashier's check instead of a money order (for example, for a large down payment or security deposit), banks are often your only option. Cashier's checks are different from money orders—they are drawn on the bank's account rather than your cash, and they carry more weight for large transactions. But if a money order will do the job, skip the bank and go to the post office or Walmart.

How to fill out a money order correctly

Money orders have two key fields: the payee line and the memo line. Write the name of the person or business receiving the money on the payee line—this is the only name that matters for cashing it. Write your name and address on the purchaser line (the back of the money order). The memo line is optional and is for your own record-keeping.

Do not sign the money order until you are ready to send it. If you sign it blank, anyone who gets it can cash it. Once you have filled in the payee name and your information, sign it, and it is ready to mail or deliver. Keep the receipt stub for your records—it shows the money order number and amount, which you will need if the money order is lost or never cashed.

What to do if a money order is lost or never arrives

If a money order you sent never arrives or is lost in the mail, contact the issuer (the post office, Walmart, or wherever you bought it) with your receipt. They can put a stop on the money order and issue a replacement, but this process takes time—usually two to four weeks. You will need the receipt number and the exact amount.

This is why keeping the receipt is critical. If you do not have it, the issuer may not be able to help you. For large or important payments, consider asking the recipient to confirm receipt before you discard the receipt stub.

Frequently Asked Questions

Can I buy a money order with a credit card?

No. Money orders must be purchased with cash or a debit card. Credit card companies treat money order purchases as cash advances, which carry high fees and interest rates. The post office, Walmart, and most retailers will not accept credit cards for money orders.

Do I need an ID to buy a money order?

It depends on the location. The post office does not require ID. Walmart and Target do. Grocery stores and pharmacies usually do not, though some may ask. Call ahead if you do not have ID and want to know the policy at your specific location.

Can someone else cash a money order I bought?

Only if you sign it over to them. A money order is payable to whoever you write on the payee line. If you write it to someone else's name, only they can cash it. If you sign the back without filling in a payee name, anyone who has it can cash it, so never do that.

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

A money order is purchased with your cash and capped at $1,000. A cashier's check is drawn on the bank's account, has no limit, and carries more official weight for large transactions. Banks issue cashier's checks; retailers issue money orders. For amounts over $1,000, a cashier's check is usually better if the recipient will accept it.

How long does a money order take to clear once someone cashes it?

Money orders clear immediately or within one business day, just like a check. The recipient can deposit it at their bank and the funds will be available within one to two business days, depending on the bank.