Where you can buy a money order
You can purchase a money order at a bank, credit union, post office, grocery store, pharmacy, or check-cashing service. Not every location sells them, so call ahead or check the website before you go. Banks and credit unions typically sell money orders only to customers who hold an account with them, though some will sell to non-customers for a higher fee. The U.S. Postal Service sells money orders to anyone, as do most grocery stores with customer service desks, Walmart, Walgreens, CVS, and independent check-cashing businesses.
The fee varies by location and the amount you want to order. A money order under $500 at the post office costs between $1.45 and $1.95 depending on the amount. Banks and credit unions typically charge $3 to $10. Grocery stores and pharmacies usually charge $0.50 to $3. Check-cashing services may charge $1 to $5. The larger the money order, the higher the fee tends to be, though most places cap fees at a certain amount regardless of order size.
Key Takeaways
- The post office, grocery stores, pharmacies, and check-cashing services sell money orders to anyone without requiring an account.
- Banks and credit unions may limit sales to account holders or charge higher fees to non-customers.
- Fees range from under $1 to $10 depending on where you buy and the amount ordered, so comparing locations can save you money.
- You will need cash or a debit card, the recipient's name and address, and your own identification to complete the purchase.
What to bring when you go to buy a money order
Bring a form of payment — cash or a debit card. Most locations accept both, though some check-cashing services accept only cash. You do not need a credit card. Bring your photo ID; the seller will ask to see it before issuing the money order. A driver's license, state ID card, or passport works. Some locations may ask for a second form of ID or your phone number.
Have the recipient's name and mailing address ready. Write it down before you arrive if you are not certain of the spelling or address. You will also need to know the exact amount you want to order. The seller will not issue a money order for a blank amount or "to be determined" — you must specify the dollar figure at the time of purchase.
The step-by-step process at the counter
Tell the cashier or teller you want to purchase a money order and state the amount. They will show you the fee and the total you will pay. Confirm the amount is correct before you hand over payment. Once you pay, the seller will print the money order and ask you to fill in the recipient's name and address on the front. Some locations pre-fill this information if you provide it; others hand you a blank form to complete.
Sign the money order in the space marked "From" or "Purchaser." Do not sign the back or the recipient line — that is for the person who cashes it. The seller will tear off your receipt and give it to you along with the money order itself. Keep the receipt in a safe place. It contains a tracking number you can use to locate the money order if it is lost or never reaches the recipient.
Differences between post office and retail locations
The U.S. Postal Service issues money orders up to $1,000 per order. If you need more than $1,000, you must buy multiple money orders. Retail locations like grocery stores and pharmacies typically have the same $1,000 limit, though a few may cap at $500. Banks and credit unions often allow higher amounts — sometimes up to $5,000 or more — but you must be a customer to purchase one.
Post office money orders can be sent through the mail as part of a letter or package. Retail money orders can also be mailed, but neither type is insured by default. If you want insurance or tracking, you can add it at the post office for an additional fee. Retail locations do not typically offer these add-ons, so the post office is the better choice if you need proof of delivery or protection against loss.
How to send the money order after you buy it
Place the money order in an envelope with a letter or note if you wish. Write the recipient's address on the envelope and add a stamp if you are mailing it through the U.S. Postal Service. You can drop it in a mailbox or take it to the post office. If you are delivering it in person, hand it directly to the recipient — do not leave it unattended in a mailbox or on a doorstep.
The recipient will need to sign the back of the money order and present it with their ID to cash it at a bank, check-cashing service, or post office. They cannot cash it without signing it first. If you need to cancel a money order before it reaches the recipient, contact the issuer with your receipt and tracking number — the post office can cancel and refund money orders, as can most retail locations, though some may charge a cancellation fee.
Common reasons to use a money order instead of other payment methods
A money order is safer than sending cash through the mail because it cannot be spent if it is lost or stolen — only the named recipient can cash it. It is also safer than a personal check if you do not want to share your bank account number with someone you do not know well. A money order provides proof of payment because you receive a receipt with a tracking number, whereas cash leaves no record.
Money orders are useful when the recipient does not accept checks or digital payments, or when you do not have a bank account. They are also common for security deposits, bail, court fees, and payments to government agencies that specifically request them. Some landlords and utility companies require a money order as proof of payment before they will process a transaction.
Frequently Asked Questions
Can I buy a money order without an ID?
No. All money order sellers require a photo ID before issuing one. This is a federal requirement to prevent fraud and money laundering. A driver's license, state ID, or passport will work.
What happens if I lose the money order before sending it?
Contact the issuer with your receipt and tracking number as soon as possible. The post office and most retailers can cancel the money order and issue a refund or replacement. Some may charge a fee for this service. If you already mailed it and the recipient says they never received it, you can file a claim using the tracking number on your receipt.
Can I buy a money order with a credit card?
Most locations do not accept credit cards for money order purchases. Cash and debit cards are the standard payment methods. Some banks may allow credit card purchases if you are an account holder, but this is rare. Check with your specific location before you go.
How long does it take for a money order to arrive in the mail?
A mailed money order typically arrives within 3 to 7 business days, depending on the distance and postal service speed. There is no tracking unless you pay extra at the post office for certified mail or delivery confirmation. If it does not arrive within two weeks, contact the issuer with your receipt.
Can I get a refund if I buy a money order by mistake?
Yes, if you have not mailed it yet. Return to the location where you bought it with your receipt and the unused money order. They will cancel it and refund your payment, though some may charge a small cancellation fee. If you already mailed it, you will need to contact the issuer and file a claim with the tracking number.