Yes, the post office sells money orders, and it's one of the most common places to get one
The United States Postal Service (USPS) sells money orders at nearly every post office location in the country. You walk in, tell the clerk you want a money order, provide cash or a debit card, and walk out with a receipt and the money order itself — usually within minutes. The post office does not require a bank account, credit check, or advance notice.
USPS money orders have a maximum value of $1,000 per order. If you need to send more than that, you can buy multiple money orders in a single transaction. The fee varies slightly by location but typically ranges from about $1.45 to $1.95 per money order.
Post offices are open during standard business hours, and many locations have extended evening or Saturday hours. You can find your nearest post office and check its hours on the USPS website by entering your zip code.
Key Takeaways
- USPS money orders cost between $1.45 and $1.95 each and can be purchased with cash or a debit card at any post office.
- Each money order has a $1,000 maximum, so you will need to buy multiple orders if you are sending more than that amount.
- You do not need a bank account or identification to buy a money order at the post office, though the clerk may ask for your address.
- The money order includes a receipt stub that you keep as proof of purchase, which you can use to track or stop payment if needed.
- Post offices are widely available and have longer hours than many banks, making them convenient for people without regular business-hour access.
What you need to bring and what happens at the counter
Bring cash or a debit card. The post office will not accept credit cards for money order purchases. You will also need to know the exact amount you want to send — the clerk will fill in the payee name (the person or business receiving the money) and the amount on the form.
The clerk will ask for your address. This is standard practice and helps the post office track the money order if there is ever a dispute. You do not need to show identification unless you are buying a very large number of money orders at once, which can trigger additional verification.
The post office gives you two copies: one is the money order itself, which you send to the payee, and one is your receipt. Keep the receipt. It shows the money order number, the amount, the date, and the payee's name. If the money order is lost or never cashed, you can use this receipt to request a refund or replacement.
How USPS money orders compare to other places that sell them
Banks, credit unions, grocery stores, and check-cashing businesses also sell money orders, but the post office is often the cheapest option. Grocery stores and check-cashing places typically charge $2 to $5 per money order, while banks may charge $5 to $10 or only sell them to account holders. The post office's fee is consistently lower.
The post office also does not require you to have an account or relationship with them. A bank will only sell money orders to customers with an account. A grocery store or check-cashing business will sell to anyone, but you pay more. The post office splits the difference: low cost and no account required.
Availability is another advantage. Post offices are in nearly every town and city, and many have evening or weekend hours. Banks close earlier and may not be convenient if you work standard hours. If you need a money order outside normal business hours, a grocery store or 24-hour check-cashing business may be your only option.
How to fill out the money order correctly
The clerk fills in most of the information, but you should double-check it before you leave the counter. The money order will show the payee name (who is receiving the money), the amount, the date, and your address. Make sure the payee name is spelled correctly and matches exactly what the recipient told you — if it does not, the recipient may have trouble cashing it.
Do not sign the money order at the post office. You sign it only when you send it to the payee. If you sign it at the counter, anyone who gets the money order can cash it. The signature line is for the person who receives it, not the person who buys it.
Write a memo or note on the money order if there is space — for example, "Rent for March" or "Invoice #12345". This helps the recipient know what the payment is for and makes record-keeping easier for both of you.
What to do if you lose the money order or need to stop payment
If the money order is lost, stolen, or never arrives, you can request a refund or replacement using your receipt. Go back to the post office with your receipt and fill out a form requesting a refund. The post office will investigate whether the money order has been cashed. If it has not been cashed, they will issue you a new one or refund your money.
This process takes time — usually several weeks to a few months — because the post office has to wait long enough to be certain the original money order will not be cashed. You cannot stop payment immediately the way you can with a check. If the money order has already been cashed by someone else, the post office cannot recover the money.
This is why keeping your receipt is critical. Without it, you have no proof you bought the money order, and the post office cannot help you.
When the post office is not the best choice
If you need to send money very quickly — same day or next day — the post office works fine, but a wire transfer through a bank or money transfer service like Western Union may be faster for the recipient. A wire transfer can arrive within hours, while a money order takes several days to a week depending on how it is mailed.
If you need to send more than $1,000, you will have to buy multiple money orders, which means multiple fees. A wire transfer or cashier's check might be more economical in that case. A cashier's check is a check issued by a bank and may provide by the bank's funds, so it carries less risk than a personal check. Banks typically charge $10 to $15 for a cashier's check, which is more than a money order but less than buying multiple money orders if you are sending several thousand dollars.
If you do not have access to a post office — for example, if you live in a very rural area — a grocery store, bank, or check-cashing business may be your only option, even if the fee is higher.
Frequently Asked Questions
Can I buy a money order with a credit card at the post office?
No. The post office only accepts cash or a debit card for money order purchases. If you do not have cash or a debit card, you will need to go to a different location, such as a grocery store or check-cashing business, which may accept credit cards — though they typically charge higher fees.
Do I need an ID to buy a money order at the post office?
Not usually. The post office will ask for your address but typically does not require identification. If you are buying a very large number of money orders in one transaction, the clerk may ask to see an ID as part of standard verification procedures.
What happens if the person I send the money order to never cashes it?
Money orders do not expire, so the recipient can cash it at any time. If you need the money back, you can request a refund from the post office using your receipt. The post office will wait several weeks to ensure the original money order is not cashed, then issue a refund or replacement.
Can I cancel a money order after I buy it?
You cannot cancel it immediately, but you can request a refund if it has not been cashed. Bring your receipt to the post office and ask for a refund request form. The post office will investigate and refund your money if the money order has not been cashed by the payee.
Is a money order safer than sending cash in the mail?
Yes. If cash is lost or stolen in the mail, it is gone. A money order has a number and is traceable, so if it is lost or stolen, you can request a refund using your receipt. The recipient also cannot cash a money order without signing it, which adds a layer of security that cash does not have.