Yes, most banks sell money orders, but not all branches carry them and fees vary

Most traditional banks—including Bank of America, Wells Fargo, Chase, and regional banks—do sell money orders at their branches. However, availability depends on your specific branch and account type. Some banks limit money orders to account holders only, while others sell them to anyone. Fees typically range from $5 to $10 per money order, though some banks charge less for account holders. You'll need to visit a branch in person; banks do not sell money orders online or by phone.

If your bank doesn't offer money orders or charges high fees, credit unions and non-bank outlets like Walmart, grocery stores, and post offices often provide them at lower cost. The trade-off is that bank money orders carry the bank's name and routing number, which some payees prefer for verification purposes.

Key Takeaways

  • Most banks sell money orders at their branches for $5 to $10, but you must visit in person with cash or a debit card.
  • Some banks restrict money orders to account holders, so call your branch before you go to confirm they will sell to you.
  • Credit unions, Walmart, grocery stores, and the post office often charge $1 to $3 per money order, making them cheaper alternatives.
  • Bank money orders include the bank's routing number, which some payees trust more than retail money orders, though both are equally secure.
  • You will need the payee's exact name and the amount before you arrive; banks do not issue blank money orders.

What you need to bring to buy a money order at a bank

Bring cash or a debit card tied to a bank account. Most banks will not accept credit cards for money order purchases. You also need to know the exact payee name and the amount before you arrive—banks do not issue blank money orders or allow you to fill in the amount later. If you are unsure of the payee's legal name (for example, whether it is "John Smith" or "John Michael Smith"), ask the person or organization requesting the money order to confirm.

If you are an account holder at the bank, bring your debit card or account number. Non-account holders should bring a government-issued photo ID. Some branches may ask for a phone number or address for their records. Call your branch ahead of time if you have questions about what they require—policies vary by location and by bank.

How long it takes and what the money order looks like

The teller will issue your money order on the spot, usually within five minutes. The money order is a printed slip that looks similar to a check. It will show the bank's name and routing number, the payee's name, the amount, your name as the purchaser, and a serial number. You will receive a receipt stub that you should keep until the money order clears.

Once issued, the money order is as good as cash to the payee. They can deposit it at their bank, cash it at a check-cashing service, or deposit it at a retail outlet like Walmart. The payee does not need to have an account at your bank. Money orders typically clear within one to three business days, though some banks process them faster.

Bank money orders versus retail and post office money orders

SourceTypical FeeWho Can BuySpeed
Bank$5–$10Account holders or anyone with IDIssued same day
Credit Union$1–$3Members onlyIssued same day
Walmart or grocery store$0.88–$1.25Anyone with IDIssued same day
Post Office$1.45–$2.00Anyone with IDIssued same day

Bank money orders cost more than retail alternatives but carry the bank's official seal and routing number. Some landlords, government agencies, and businesses prefer bank money orders because they are harder to counterfeit and the bank can verify the routing number. However, retail and post office money orders are equally secure and legally binding—the lower cost is the main difference.

If you need a money order for a large amount, check whether your bank or the retail outlet has a maximum limit. Most banks and post offices cap money orders at $1,000, though some allow higher amounts. Walmart typically caps at $1,000 as well. If you need to send more than the limit, you will need to buy multiple money orders or use a different payment method like a cashier's check or wire transfer.

What happens if a bank money order is lost or never cashed

If your money order is lost or stolen before the payee receives it, contact the bank immediately with your receipt stub and serial number. The bank can place a stop on the money order and issue a replacement, though this usually takes 30 to 90 days. During that time, the payee cannot cash the original. Keep your receipt until you confirm the payee has received and cashed the money order.

If a money order is never cashed, it does not expire immediately. Most banks hold uncashed money orders for three to five years before returning the funds to the bank. If you need to know whether a specific money order was cashed, contact the bank with the serial number and receipt. They can look up the status in their system.

Alternatives if your bank does not sell money orders

If your bank does not offer money orders or only sells them to account holders, your fastest option is usually a credit union if you are a member. Credit unions typically charge $1 to $3 and issue money orders on the spot. If you are not a credit union member, Walmart, grocery stores with money order services, and the post office are open longer hours than most banks and charge less per money order.

Another option is a cashier's check, which your bank can issue at the teller window. Cashier's checks work similarly to money orders but are drawn on the bank's account rather than your own. They cost $10 to $15 and are often preferred for large payments like down payments on a house or car. However, they take longer to clear than money orders and are not as portable—some payees prefer money orders for that reason.

Frequently Asked Questions

Can I buy a money order online from my bank?

No. Banks do not sell money orders online or by phone. You must visit a branch in person with cash or a debit card. Some banks allow you to order a cashier's check online, but that is a different product and takes longer to arrive.

What if I make a mistake on the money order?

If you notice an error before leaving the teller window, tell the teller immediately. They can void the money order and issue a replacement. If you discover an error after you leave, you cannot correct it—the money order is already issued. Contact the bank to place a stop and request a replacement, which usually takes 30 to 90 days.

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

Most banks will sell money orders to non-account holders if you bring a government-issued photo ID and pay in cash or with a debit card. However, some banks restrict money orders to account holders only. Call your branch to confirm their policy before you visit.

Is a bank money order safer than a money order from Walmart?

Both are equally secure and legally binding. The main difference is cost and the bank's routing number printed on the bank version. Some payees prefer bank money orders for verification purposes, but retail money orders are just as safe to send.

What is the maximum amount for a bank money order?

Most banks cap money orders at $1,000 per order. If you need to send more, you can buy multiple money orders or ask about a cashier's check, which typically has a higher limit or no limit depending on the bank.