What you need to buy a money order at the post office
You can walk into any Post Office location and buy a money order the same day. Bring cash or a debit card — most Post Offices accept both, though a few take only cash. You'll also need to know the exact amount you want to send, and you should have the recipient's name and address ready, though the clerk can help you fill in the form if you're unsure how.
Money orders at the Post Office cost between $1.25 and $2.65 depending on the amount. Orders up to $500 cost less than orders from $500 to $1,000. If you need to send more than $1,000, you'll have to buy multiple money orders. The Post Office doesn't charge extra to mail the money order once you've bought it — that's on you if you want to use postal mail, or you can hand-deliver it.
You don't need an account, ID, or prior relationship with the Post Office. Walk-in customers can buy money orders during regular branch hours. If your local Post Office is closed, you can also buy money orders at many grocery stores, pharmacies, and check-cashing businesses, though the fee structure and limits may differ.
Key Takeaways
- Post Office money orders cost $1.25 to $2.65 depending on whether the amount is under or over $500, and you can buy them with cash or a debit card during regular hours.
- You'll fill out a simple form with the recipient's name and address, the amount, and your name and address as the sender.
- The Post Office gives you a receipt with a tracking number so you can confirm the money order was cashed.
- Money orders don't expire, but the Post Office recommends cashing or depositing them within two years to avoid complications.
- If a money order is lost or stolen, you can request a refund or replacement by providing your receipt and the tracking number.
How to fill out the form at the counter
The Post Office clerk will hand you a money order form — it's a single page with blank lines. You'll write the recipient's name on the "Pay to the Order of" line. This is the person or business that will cash or deposit the money order. Write the name exactly as they would want it to appear — if it's a business, use the legal name.
On the next line, write the amount in numbers. On the line below that, write the same amount in words (for example, "One hundred fifty dollars"). Your name and address go in the "From" section at the bottom. The clerk will verify the information, take your payment, and stamp the form. They'll tear off your receipt and give it to you along with the money order itself.
Don't sign the money order yet. The recipient should sign the back when they cash it. If you sign it before sending it, anyone who gets it can cash it without your permission.
How to send the money order safely
If you're mailing the money order, put it inside an envelope with a letter or note explaining what it's for. Don't write the amount on the outside of the envelope. Mail it using First-Class Mail or Priority Mail — both come with tracking so you know when it arrives. You can also use Certified Mail if you want a signature confirmation that the recipient picked it up.
Hand-delivery is safer if the recipient lives nearby. You can give it to them in person, or ask a trusted friend or family member to deliver it. If you're sending it to a business, you can walk in and hand it to someone at the desk.
Keep your receipt until the money order is cashed. The receipt has a tracking number that lets you check whether the recipient has deposited or cashed it. You can look this up on the Post Office website or call the Post Office with your receipt number.
What to do if the money order goes missing
If the recipient says they never got the money order, or if you realize you lost it before sending it, contact the Post Office with your receipt. Bring the receipt and the tracking number. The Post Office can tell you whether the money order has been cashed. If it hasn't been cashed, they can issue a replacement or refund.
If the money order has already been cashed by someone else, the Post Office will investigate, but recovery is difficult. This is why keeping your receipt and using mail tracking is important — it creates a record of what happened and when.
The Post Office typically takes two to four weeks to process a refund or replacement request. During that time, they'll verify that the money order wasn't cashed and that you're the original buyer. Once approved, you'll get your money back or a new money order.
Money order limits and when to use alternatives
The Post Office limits individual money orders to $1,000. If you need to send more than that, you'll have to buy multiple money orders. Some people find this inconvenient for large payments, which is why bank checks or wire transfers are sometimes better for bigger amounts.
Money orders work best for small to medium payments when you don't have a checking account or don't want to share your bank details. They're also useful for paying bills by mail, sending rent to a landlord, or paying a contractor who doesn't take cards. If you're sending money to someone you don't know well, a money order is safer than cash because it can be tracked and replaced if lost.
For regular bill payments, setting up automatic payments through your bank or the company's website is usually faster and cheaper. For large sums or international transfers, a wire transfer or bank check is more practical, though those come with their own fees and timelines.
Fees and cost comparison
Post Office money order fees are set by the Postal Service and are the same at every location. As of now, money orders up to $500 cost $1.25, and money orders from $500.01 to $1,000 cost $2.65. These fees are lower than what many banks and check-cashing businesses charge for the same service.
If you have a bank account, your bank may issue checks for free or a small fee, which could be cheaper if you're sending multiple payments. However, checks take longer to clear and require a mailing address, whereas a money order can be picked up in person or delivered by hand the same day.
Grocery stores and pharmacies that sell money orders often charge $1 to $3 depending on the amount and the retailer. Some charge flat fees; others charge a percentage of the amount. Compare the fee at your local Post Office to other nearby options if you're sending a large amount.
Frequently Asked Questions
Can I buy a money order online and pick it up at the Post Office?
No, the Post Office does not sell money orders online or allow you to order them in advance. You must go to a Post Office location in person, fill out the form, and pay at the counter. This is a same-day transaction only.
What if I make a mistake filling out the money order?
Tell the clerk immediately. They can void the form and issue a new one. You'll get your money back, and the fee will be waived. Don't try to cross out or erase information on the form — the recipient may refuse to cash it if it looks altered.
How long does it take for a money order to arrive in the mail?
If you mail it using First-Class Mail, it typically arrives within three to five business days. Priority Mail is faster, usually one to three days. Hand delivery is immediate. The money order itself doesn't expire, but the Post Office recommends cashing it within two years to avoid issues.
Can I cancel a money order after I've bought it?
Yes, but only if you haven't mailed it yet. Bring the money order and your receipt back to the Post Office, and they'll refund your money minus the fee. If you've already mailed it, you'll need to wait to see if it's cashed, then request a replacement or refund using the tracking number.
Is a money order safer than sending cash in the mail?
Yes. Cash can be stolen and is gone forever. A money order can be tracked, and if it's lost or stolen before being cashed, you can request a replacement. The recipient must sign the back when they cash it, creating a record. Keep your receipt and tracking number until the money order is cashed.