Yes, most banks sell money orders, but not all branches carry them and some charge fees
You can buy a money order at most banks, but availability and cost vary by bank and branch. Some banks sell them at the teller window during business hours; others have stopped offering them entirely. If your bank does sell money orders, expect to pay between $1 and $10 per order, depending on the amount and the bank's policy. The fastest way to know whether your bank carries them is to call your branch directly—do not assume based on bank size or reputation.
Banks are not your only option, and often not your cheapest one. The U.S. Postal Service, Walmart, grocery stores, and check-cashing services all sell money orders, sometimes for less than banks charge. If speed matters, a nearby Walmart or grocery store may get you a money order faster than waiting for your bank to open.
Key Takeaways
- Call your bank branch before you go—many no longer sell money orders or only sell them at certain locations.
- Bank money order fees typically range from $1 to $10, and you must have an account at that bank to buy one.
- The U.S. Postal Service, Walmart, and grocery stores often sell money orders for $1 to $2 and do not require you to be a customer.
- Money orders issued by banks are generally safer than those from non-bank sources because they are backed by the bank's may provide.
- You will need cash or a debit card to buy a money order; credit cards are not accepted at most locations.
What you need to bring to a bank to buy a money order
To buy a money order at a bank, you must have a checking or savings account at that bank. Bring your debit card or account number, a valid photo ID, and the cash or funds to cover both the money order amount and the fee. Some banks allow you to pay from your account balance; others require cash at the counter.
You will also need to know the recipient's name and address before you arrive. The money order will show the payee (who receives it), the amount, and your name as the purchaser. If you do not know the exact amount, ask the teller whether you can leave the amount blank—most banks will not do this, so you need to decide the amount in advance.
Banks that still sell money orders and those that have stopped
Large national banks like Bank of America, Wells Fargo, and Chase still sell money orders at most branches, though policies differ by location. Regional banks and credit unions vary widely—some sell them freely, others only to account holders who meet certain requirements, and some have discontinued them entirely. Community banks are more likely to sell money orders than large chains, but you must ask.
Banks stopped offering money orders in high volume because they are low-profit transactions and require teller time. If your bank no longer sells them, the teller can usually tell you where the nearest alternative is—often a grocery store or post office within a few blocks. Do not waste a trip; call ahead.
How much banks charge for money orders
Bank fees for money orders depend on the amount and the bank's pricing structure. Most banks charge a flat fee between $1 and $10 per order, regardless of whether you are sending $50 or $5,000. Some banks charge more for larger amounts or charge different fees for account holders versus non-account holders (though most require you to be an account holder anyway).
Compare this to the U.S. Postal Service, which charges $1.45 for money orders up to $500 and $1.95 for orders from $500.01 to $1,000. Walmart charges around $0.88 for money orders up to $1,000. If you are buying multiple money orders or sending a large amount, the savings at a non-bank location can add up quickly.
Why you might choose a bank money order over other options
Bank money orders carry the bank's may provide, which means the bank promises the money order will be honored. If a money order is lost or stolen, the bank can issue a replacement or refund after you file a claim and wait for the original to clear (usually 30 to 60 days). This protection is stronger than what you get from a Walmart or grocery store money order, which are issued by third-party processors.
Bank money orders also feel more formal and official, which can matter if you are paying a government agency, a court, or a landlord who specifically requests a bank money order. Some recipients trust bank-issued money orders more than retail ones, even though both are equally valid payment methods. If the recipient has specified a bank money order, call your bank to confirm they issue them before you make the trip.
How to track and replace a bank money order if it goes missing
When you buy a money order at a bank, you receive a receipt with a tracking number. Keep this receipt—you will need it if the money order is lost, stolen, or never received by the recipient. Do not send the receipt with the money order; keep it separate.
If the money order does not arrive or you suspect it was lost, contact the bank that issued it with your receipt and tracking number. The bank will place a stop on the money order and begin a trace. This process typically takes 30 to 60 days because the bank must wait to see whether the money order clears at the recipient's bank. If it does not clear within that window, the bank will refund your money. If it does clear, the recipient has already received the funds and you will need to contact them directly.
Alternatives to bank money orders: when to use them instead
If your bank does not sell money orders, charges high fees, or has limited hours, consider the U.S. Postal Service, Walmart, or your grocery store. The USPS is open six days a week at most locations and charges $1.45 to $1.95 depending on the amount. Walmart is open late and charges around $0.88. Grocery stores vary by chain but typically charge $1 to $2.
These alternatives work for most payments—rent, utilities, court fees, and loan payments all accept retail money orders. The main trade-off is that you lose the bank's may provide and replacement protection. If the money order is lost or stolen, the issuer will trace it, but the process is the same 30 to 60 day wait. For routine bills and payments where the recipient is unlikely to lose it, a retail money order saves you money and time.
Frequently Asked Questions
Do I need a bank account to buy a money order at a bank?
Yes, most banks require you to have a checking or savings account with them. If you do not have an account, you will need to go to the U.S. Postal Service, Walmart, or a grocery store instead. Call your bank to confirm their policy before you visit.
Can I buy a money order with a credit card?
No. Banks, the postal service, and retail locations all require cash or a debit card. Credit cards are not accepted because money orders are considered cash equivalents and credit card companies treat them as cash advances with high fees.
What happens if I write the wrong amount on a bank money order?
You cannot change the amount once the money order is issued. If you make a mistake, you will need to cancel it and buy a new one. The bank will refund the fee for the incorrect money order, but you will pay another fee for the replacement, so double-check the amount before you hand over cash.
How long does it take for a bank money order to clear?
Most bank money orders clear within one to three business days after the recipient deposits them. Some banks process them faster. Ask your bank for their specific timeline when you buy the money order, especially if the recipient needs the funds quickly.
Can I get a refund if I buy a money order and change my mind?
Yes, but only if you have not sent it yet. Bring the money order and your receipt back to the bank, and they will cancel it and refund your money minus the fee. Once the money order is in someone else's hands or has been deposited, you cannot get a refund—you would need to contact the recipient instead.