Not all banks sell money orders, and most that do charge a fee
Banks do not have to offer money orders, and many do not. The ones that do usually charge between $5 and $10 per order, depending on the amount and the bank. Your best bet is to call your bank first and ask whether they sell them—if they do, ask the fee and whether you need to be a customer to buy one. Some banks limit sales to account holders only.
If your bank does not sell money orders or the fee is too high, you have other options that are often cheaper and faster. Grocery stores, pharmacies, and convenience stores sell them for $1 to $3 each. The U.S. Postal Service charges $1.45 to $2.00 depending on the amount. Western Union and MoneyGram also sell money orders at thousands of locations, though their fees run higher—typically $2 to $5.
The key difference is where you go and how much you are willing to pay. A bank money order carries the bank's name and may carry slightly more weight in certain situations, but the recipient does not care which issuer you use—a money order is a money order. Speed matters more: a grocery store or post office can issue one in minutes, while a bank may take longer if you are not an account holder.
Key Takeaways
- Call your bank before you go in; not all banks sell money orders, and those that do may charge $5 to $10 per order.
- Grocery stores, pharmacies, and convenience stores typically charge $1 to $3 per money order and do not require you to be a customer.
- The U.S. Postal Service charges $1.45 to $2.00 and is open on Saturdays at most locations.
- The issuer (bank, post office, or retailer) does not matter to the person receiving the money order—all are equally valid.
- You will need cash or a debit card to buy a money order; credit cards are not accepted at most locations.
How to learn about your bank sells money orders
Call the branch where you have your account or the customer service number on the back of your debit card. Ask directly: "Do you sell money orders?" If the answer is yes, ask three follow-up questions: the fee per order, whether you must be an account holder, and how long it takes to issue one.
Some banks only sell money orders to customers with checking accounts. Others sell them to anyone but charge more for non-customers. A few large banks—including Bank of America, Wells Fargo, and Chase—do sell money orders, but fees and policies vary by branch. Do not assume your branch has them in stock; ask whether you need to order one in advance or whether they have them available now.
If your bank does not sell money orders, do not waste a trip. Move on to a grocery store, pharmacy, or the post office instead. The time you save will be worth more than the small difference in price.
Cheaper alternatives: grocery stores, pharmacies, and the post office
Walmart, Kroger, Safeway, CVS, Walgreens, and most other grocery and pharmacy chains sell money orders at customer service desks. Fees are typically $1 to $3 per order, and you do not need to be a customer or have an account. You walk in, go to the counter, hand over cash or a debit card, and walk out with a money order in minutes. No appointment needed.
The U.S. Postal Service sells money orders at every post office for $1.45 (for orders up to $500) or $2.00 (for orders $500.01 to $1,000). Post offices are open Monday through Friday and Saturday mornings at most locations. You can also buy postal money orders at some grocery stores and pharmacies that have postal counters inside.
Western Union and MoneyGram sell money orders at convenience stores, grocery stores, and their own locations. Fees run $2 to $5 depending on the amount. These are useful if you need a money order outside normal business hours—many Western Union and MoneyGram locations stay open late or on Sundays—but the cost is higher than the post office or a grocery store.
What you need to bring and what happens at the counter
Bring cash or a debit card. Most places do not accept credit cards for money orders. You will also need to know the exact amount you want to send and the name of the person or business receiving it (the payee). Have that information ready before you get to the counter.
At the counter, tell the clerk the amount and the payee name. They will fill out the money order or hand you a form to fill out. You sign it, pay the fee plus the amount of the order, and receive the money order and a receipt. Keep the receipt until the money order is cashed—it is your proof of purchase and your way to track the order if something goes wrong.
The whole process takes five to ten minutes. If the location is busy, it may take longer. Do not fill in the recipient's name until you are at the counter; if you make a mistake, you may have to buy a new one.
When a bank money order matters more than a retail one
In most situations, it does not matter where you buy the money order. A grocery store money order and a bank money order are equally valid and equally safe. The recipient will cash or deposit it the same way either way.
There are rare exceptions. Some landlords or government agencies may prefer or require a bank money order because it carries the bank's name and routing number. If you are paying rent, a court fine, or a government fee, ask the recipient first whether they have a preference. If they do, buy from a bank. If they do not, save the money and buy from a grocery store or the post office.
A bank money order is also slightly more formal if you need a paper trail for a large or sensitive transaction. But this is a minor advantage and not worth paying extra for unless the recipient specifically asks for it.
What to do if you make a mistake on the money order
If you sign the money order and then realize you made a mistake—wrong amount, wrong payee name, or wrong recipient—do not try to fix it. Money orders cannot be altered or corrected once they are issued. You will need to buy a new one.
Some retailers and the post office will issue a replacement if you catch the mistake immediately and still have the receipt. Bring the original money order and receipt back to the same location and explain the error. They may issue a new one at no extra charge, though policies vary. Do not count on this; it is better to double-check before you pay.
If you have already given the money order to the recipient and they have not cashed it yet, contact them and ask them to return it. You can then buy a new one. If the recipient has already cashed it, you cannot get the money back—the transaction is final.
Tracking a money order if it goes missing
Keep your receipt. It has a serial number that matches the money order. If the money order is lost or stolen before the recipient cashes it, you can contact the issuer (your bank, the post office, or the retailer) with the serial number and ask them to put a stop on it and issue a replacement.
The process takes time—usually two to four weeks—and you will need to fill out a form and sometimes pay a small fee ($15 to $30). This is why it matters to keep the receipt. Without it, you have no proof you bought the money order, and the issuer will not help you.
If the recipient says they never received the money order, ask them to check with their bank. Money orders can take a few business days to clear. If it has been more than a week and the recipient's bank has no record of it, contact the issuer with your receipt and serial number and ask them to investigate.
Frequently Asked Questions
Can I buy a money order with a credit card?
No. Banks, post offices, grocery stores, and retailers do not accept credit cards for money orders. You must pay with cash or a debit card. Some locations may accept a PIN-based debit card but not a signature-based one; call ahead if you are unsure.
What is the maximum amount I can put on a money order?
Most money orders have a limit of $1,000 per order. If you need to send more than $1,000, you will need to buy multiple money orders. There is no limit on how many you can buy at once, but each one will have its own fee.
Do I need to be a customer of the bank to buy a money order there?
It depends on the bank. Some banks sell money orders only to account holders; others sell to anyone. Call your bank and ask. If they require an account, it is usually faster and cheaper to buy from a grocery store or the post office instead.
How long does it take for a money order to clear?
Money orders typically clear within one to three business days after the recipient deposits or cashes them. The issuer (bank, post office, or retailer) does not affect the clearing time. If the recipient's bank is different from yours, it may take longer.
Can I cancel a money order after I buy it?
Only if you have not given it to the recipient yet and you still have the receipt. Bring the original money order and receipt back to the issuer and ask for a refund or replacement. Once the recipient has cashed it, the transaction is final and cannot be reversed.