Not every bank offers money orders, and the ones that do have different rules about who can buy them
Most banks do not sell money orders at all. Of the ones that do, many restrict them to account holders only, and some charge fees that make them more expensive than buying one elsewhere. If your bank does offer them, you will need to go in person during business hours with cash or a debit card, and the teller will fill out the form while you watch.
The banks most likely to sell money orders are large national ones like Wells Fargo, Bank of America, and Chase, but even then the policy varies by branch. Some branches sell them to anyone; others only to customers. Your best move is to call your branch directly and ask whether they sell money orders, to whom, and what the fee is. Do not assume based on the bank's name or size.
If your bank does not offer them or charges more than you want to pay, you have faster and cheaper alternatives: credit unions, grocery stores, and post offices all sell money orders, often for $1 to $2 per order.
Key Takeaways
- Most banks do not sell money orders; you need to call your specific branch to find out whether yours does.
- Banks that do sell money orders often charge $5 to $10 per order and may only sell them to account holders.
- Credit unions, grocery stores, and the post office sell money orders for lower fees and usually do not require membership or an account.
- You must buy a money order in person with cash or a debit card; banks do not sell them online or by phone.
- The maximum amount varies by seller — banks typically cap at $1,000 per order, while post offices allow up to $1,000 and some grocery stores go higher.
Which banks sell money orders and who can buy them
Wells Fargo, Bank of America, Chase, and Citibank all sell money orders at most of their branches, but the rules about who can buy them differ. Some branches sell to anyone who walks in; others restrict sales to account holders. A few branches have stopped selling them altogether. The only way to know is to call ahead.
When you call, ask three things: whether the branch sells money orders, whether you need to be a customer, and what the fee is. Write down the name of the person you spoke to and the date, in case the information changes or the teller gives you a different answer. If the branch says no, ask whether another nearby branch sells them — policies can vary even within the same bank.
Smaller regional banks and community banks are less likely to sell money orders. If you bank with one, assume they do not unless you have seen one sold there before. Credit unions are more likely to offer them than small banks, and many do not restrict them to members.
What it costs and what you need to bring
Bank money order fees range from $5 to $10 per order, depending on the bank and the branch. Some banks charge less for account holders. This is significantly more than you will pay elsewhere: the post office charges $1.45 for orders up to $500 and $1.95 for orders from $500.01 to $1,000. Walmart charges $0.88 for orders up to $1,000. A grocery store like Kroger or Safeway typically charges $1 to $2.
To buy a money order at a bank, you need to go in person during business hours. Bring cash or a debit card — the teller will not accept a check or credit card. You will also need to know the payee's name (the person or company the money order is for) and the amount. The teller will fill out the form, you will sign it, and you will receive the money order and a receipt. The whole process takes five to ten minutes.
Maximum amounts and limits on how many you can buy
Banks typically cap money orders at $1,000 per order. If you need to send more than $1,000, you will have to buy multiple money orders. Some banks limit how many you can buy in one day — ask when you call.
The post office also caps at $1,000 per order. Walmart and grocery stores vary; some allow up to $1,000, others up to $5,000. If you need to send a large amount, check the limits at your intended seller before you go.
Why you might want to buy elsewhere instead
Unless your bank is convenient and charges less than $2, you will save money and time by buying a money order somewhere else. The post office is open on Saturdays at most locations and has longer hours than many banks. Walmart and grocery stores are often open until 10 p.m. or later, and many are open on Sundays. You do not need an account or membership at any of these places.
If speed matters, grocery stores and Walmart are usually faster than banks because they do not require you to speak to a teller — you can buy a money order at the customer service desk or money services counter. The post office is slower during peak hours but has dedicated money order windows at larger locations.
What happens if your bank says no
If your bank does not sell money orders, or only sells them to account holders and you are not one, your next options are a credit union, the post office, a grocery store, or Walmart. All of these sell money orders without requiring membership or an account. Credit unions sometimes charge slightly more than the post office but less than banks — typically $1 to $3 per order.
If you do not have a post office or Walmart nearby, a grocery store is usually your fastest option. Most grocery stores with a customer service desk or money services counter sell money orders during the same hours the store is open. Call ahead to confirm they sell them and what the fee is.
How to fill out a bank money order
At a bank, the teller fills out most of the money order for you. You will need to provide the payee's name — the exact name of the person or company the money order is for. If you get this wrong, the payee may not be able to cash it. Double-check the spelling before you hand it to the teller.
You will also need to decide whether to add a memo line — a note about what the money order is for, like "rent" or "invoice 12345". This is optional but useful if the payee receives many payments. You will sign the money order in front of the teller. Keep the receipt until the money order is cashed; it proves you bought it and shows the serial number in case you need to report it lost or stolen.
Frequently Asked Questions
Can I buy a money order at my bank if I do not have an account there?
It depends on the bank and the branch. Some sell to anyone; others only to account holders. Call your nearest branch and ask. If they say no, try a credit union, the post office, or a grocery store instead.
What is the difference between a bank money order and one from the post office?
They work the same way and are equally safe. The main difference is cost — post office money orders are cheaper — and hours. Post offices are often open on Saturdays and have longer hours than banks at many locations.
Can I buy a money order online from my bank?
No. Banks do not sell money orders online or by phone. You must go in person with cash or a debit card. Some banks let you order a money order through their app, but you still have to pick it up at a branch.
What if I lose the money order before I send it?
Contact the bank or seller where you bought it and give them the serial number from your receipt. They can put a stop on it and issue a replacement, though some charge a fee for this service. This is why keeping your receipt is important.
Can I use a credit card to buy a money order at a bank?
No. Banks only accept cash or a debit card. Credit cards are not accepted because money orders are considered a cash advance, and banks do not allow those on credit cards.