Money orders are a safer way to send cash through the mail than putting bills in an envelope, and you can buy them at most grocery stores, pharmacies, and banks without needing a bank account.
A money order is a piece of paper that works like a check — the person who receives it can cash it at a bank or store. You pay the amount upfront plus a small fee (usually $1 to $5), and the money order is printed with a tracking number so you can confirm it was cashed. Unlike a personal check, a money order cannot bounce because you have already paid for it.
The main difference between a money order and a cashier's check is where you get them and how much they cost. Cashier's checks come from banks and are better for large amounts (over $1,000). Money orders are smaller, cheaper, and available almost everywhere — you do not need a bank account to buy one.
Key Takeaways
- Money orders are sold at grocery stores, pharmacies, Walmart, Western Union locations, and banks, usually for $1 to $5 per order.
- You pay the full amount in cash or debit card when you buy the money order, so the recipient knows the money is real.
- Most money orders have a limit of $500 to $1,000 per order, so sending more than that requires buying multiple orders.
- You can track a money order using its receipt and serial number if the recipient says they never received it.
- Money orders take 3 to 7 business days to clear in the mail, so plan ahead if the payment has a deadline.
Where to buy money orders in your area
The easiest places to find money orders are chain grocery stores and pharmacies. Walmart, Target, Kroger, Safeway, CVS, and Walgreens all sell them at the customer service desk. You walk in, tell them how much you need, pay the amount plus the fee, and they print it on the spot. No appointment or bank account required.
Western Union has thousands of locations inside grocery stores, pharmacies, and standalone shops. You can search their website or app by zip code to find the nearest one. Fees at Western Union are often higher than at grocery stores (sometimes $2 to $10 depending on the amount), but they are open late and on weekends at many locations.
Banks and credit unions sell money orders to customers and non-customers, though some charge more if you do not have an account. Call ahead to confirm they sell them and what the fee is. Post offices sell money orders too, but they are usually more expensive than retail stores and have shorter hours.
How much money orders cost and what the limits are
The fee for a money order is separate from the amount you are sending. At Walmart and most grocery stores, a money order under $500 costs $0.88 to $1.25. For amounts between $500 and $1,000, the fee is usually $1.25 to $1.50. Western Union and banks charge more — often $2 to $5 for the same amounts.
Most retailers cap money orders at $1,000 per order. If you need to send $2,500, you would buy three money orders: one for $1,000, one for $1,000, and one for $500. Each one has its own fee and tracking number. The Post Office allows up to $1,000 per money order as well.
You pay everything upfront in cash, debit card, or sometimes credit card. The store or Western Union location will not let you buy a money order for more than you can pay right then.
How to fill out a money order correctly
When you buy the money order, the cashier will ask you who it is for (the recipient's name) and how much. They print it with that information already filled in. You then sign the back of the money order in the space marked "Purchaser's Signature" or "From." Do not sign the front — that is for the person cashing it.
Write the recipient's name clearly in the "Pay to the Order of" field if it is blank. If the cashier already filled it in, check that the spelling is correct. Some money orders have a memo line where you can write what the payment is for (like "Rent" or "Invoice #123"), which helps the recipient keep track.
Keep your receipt. It has the serial number and amount, and you will need it if you have to prove you sent the money order or if it gets lost in the mail.
How long money orders take to arrive and clear
A money order sent through regular mail takes 3 to 7 business days to reach the recipient, depending on distance and mail volume. If the deadline is tight, hand-deliver it or use priority mail. Some recipients can deposit money orders at ATMs or through mobile banking apps, which speeds up the process by a day or two.
Once the recipient deposits or cashes the money order, it clears like a check — usually within 1 to 3 business days. The recipient's bank may hold it longer if the amount is large or if they are a new customer at that bank.
What to do if a money order is lost or not cashed
If the recipient says they never got the money order, contact the seller (Walmart, Western Union, or your bank) with your receipt and serial number. They can check whether it was cashed. If it was not cashed within 30 to 90 days (depending on the issuer), you can request a refund or replacement.
The process takes time — usually 30 to 60 days — because the issuer has to confirm the money order was not cashed anywhere. Bring your receipt and a form of ID. Some issuers charge a small fee ($5 to $10) to replace a lost money order.
If the money order was cashed but the recipient claims they did not receive it, the cashing location has a record of who cashed it. You can ask the issuer to investigate, but if someone else cashed it with a forged signature, that is a police matter.
Money orders versus other payment methods
Money orders are safer than cash in the mail because they have a tracking number and cannot be spent without the recipient's signature. They cost less than cashier's checks (which are for larger amounts and require a bank account). They are faster than wire transfers and do not require the recipient to have a bank account.
The downside is that money orders are capped at $1,000, so large payments require multiple orders. They also take 3 to 7 days to arrive by mail, whereas a wire transfer or ACH transfer between bank accounts is instant or next-day. If you are paying someone you know and trust, a personal check or bank transfer is usually simpler.
Frequently Asked Questions
Can I buy a money order without a bank account?
Yes. Money orders do not require a bank account. You can buy them at any grocery store, pharmacy, or Western Union location with cash or a debit card. You do not even need an ID at most retailers, though some ask for one.
What happens if I write the wrong name on a money order?
If the cashier filled in the name and it is wrong, ask them to void it and issue a new one before you leave the store. If you already mailed it, the recipient cannot cash it because the name does not match their ID. Contact the issuer with your receipt to request a replacement.
Can I cancel a money order after I buy it?
Yes, but only if you have not mailed it yet. Take it back to the store or Western Union location where you bought it with your receipt and ID. They will void it and refund your money minus a small fee (usually $1 to $2). Once it is mailed, you have to wait to see if it is cashed before requesting a replacement.
Is a money order the same as a cashier's check?
No. Money orders are smaller (capped at $1,000), cheaper, and sold at retail stores. Cashier's checks are larger, cost more, and come from banks. Both are safer than personal checks because the money is already paid for, but cashier's checks are better for amounts over $1,000.
Do I need to report a money order purchase to the IRS?
Buying a money order is not reported to the IRS. However, if you buy more than $10,000 in money orders in a single day, the seller must file a Currency Transaction Report with the government. This is standard practice and not a sign of wrongdoing.