Post Office Money Order Fees
A money order at the United States Postal Service costs between $1.45 and $2.00, depending on the amount. The fee structure is fixed: money orders up to $500 cost $1.45, and money orders from $500.01 to $1,000 cost $2.00. You pay this fee at the time you purchase the money order, on top of the face value you're sending.
These prices have remained stable since 2023, though USPS has adjusted fees periodically in the past. The fee applies whether you're sending the money order across the country or handing it to someone in person. There is no additional charge for different payment methods — you pay the same fee whether you use cash, debit card, or a check to buy the money order.
Key Takeaways
- A USPS money order under $500 costs $1.45; one from $500.01 to $1,000 costs $2.00.
- You cannot buy a money order for more than $1,000 at the post office in a single transaction.
- The fee is the same regardless of how you pay for it or where you mail it.
- Post office money orders are available during regular branch hours, and you need a valid ID to purchase one.
How to Purchase a Money Order at the Post Office
Walk into any post office branch during business hours with the amount you want to send and a valid form of ID. Tell the clerk you want to buy a money order. You will fill out a short form that asks for the recipient's name and address, your name and address, and the amount. The clerk will print the money order, you'll pay the fee plus the face value, and you'll receive the money order to mail or deliver yourself.
The entire process usually takes five to ten minutes. You do not need an account with USPS or any prior arrangement. The post office does not mail the money order for you — you are responsible for putting it in an envelope and either mailing it yourself or handing it to the recipient. If you want to track it, you can purchase Delivery Confirmation or Signature Confirmation at the same time, which adds $0.55 to $3.50 depending on the service level.
Comparing Post Office Fees to Other Money Order Sources
Banks, credit unions, grocery stores, and check-cashing services also sell money orders, and their fees vary widely. Some banks charge $5 to $10 per money order, while grocery stores and Walmart typically charge $0.50 to $1.50. Credit unions often charge $1 to $3. The post office fee of $1.45 to $2.00 falls in the middle range and is competitive with retail locations, though some banks charge significantly more.
The trade-off is location and hours. Post offices have limited hours and may not be convenient to your home or workplace, whereas grocery stores and pharmacies are often open early and late. If you need a money order outside post office hours, a retail location may be your only option, even if the fee is slightly lower. Check with your bank or credit union first — some offer money orders to members at no charge or for a flat fee regardless of amount.
When You Cannot Buy a Money Order at the Post Office
The post office will not sell you a money order if you do not have a valid ID. Acceptable forms include a driver's license, state ID card, passport, or military ID. If you do not have one of these, you cannot purchase a money order at USPS, though you may be able to buy one at a bank, credit union, or retail location with different ID requirements.
You also cannot buy a single money order for more than $1,000. If you need to send more than $1,000, you must purchase multiple money orders. For example, to send $2,500, you would buy two $1,000 money orders and one $500 money order, paying $2.00 + $2.00 + $1.45 in fees. Some people in this situation choose to use a cashier's check from a bank instead, which may have a lower fee or no fee depending on your account type.
What Happens After You Buy a Money Order
Once you have the money order, you own it just as you would own cash. You can mail it, hand it to someone, or deposit it into a bank account. If you mail it, write the recipient's name on the "Pay to the Order of" line and sign the back. Do not sign it before mailing — the recipient needs to sign it when they receive it. If the money order is lost or stolen before it reaches the recipient, you can file a claim with USPS to get your money back, but you will need the receipt and the money order number.
Keep your receipt until the recipient confirms they received and cashed the money order. The receipt shows the money order number, the amount, the fee you paid, and the date. If there is a dispute later about whether the money order was sent or received, the receipt is your proof of purchase. USPS typically takes 30 to 60 days to process a claim for a lost or stolen money order, so do not expect an when ready refund.
Money Order Limits and Restrictions
The $1,000 maximum per money order is a hard limit at USPS. You can buy multiple money orders in one visit, but each one is capped at $1,000. There is no daily or monthly limit on how many you can purchase, but if you buy a large number in a short time, the post office may ask questions or file a report with the Financial Crimes Enforcement Network (FinCEN) as part of anti-money-laundering compliance. This does not mean you have done anything wrong — it is a standard reporting requirement for large cash transactions.
Money orders themselves do not expire, but the post office recommends cashing or depositing them within two years. After two years, you may have difficulty cashing an old money order, and some banks will refuse to accept it. If your money order is very old and the recipient no longer has it, you can contact USPS with your receipt to request a replacement or refund, though the process can take several weeks.
Frequently Asked Questions
Can I buy a money order online and pick it up at the post office?
No. USPS does not sell money orders online or allow you to pre-order them. You must go to a post office branch in person, bring your ID and payment, and purchase the money order at the counter. Some third-party websites claim to sell postal money orders online, but these are not legitimate USPS services.
What if I make a mistake filling out the money order form?
Tell the clerk before they print it. If you make a mistake after the money order is printed, the post office will not refund the fee, but they may issue you a replacement money order if the error is their fault. If the error is yours, you lose the fee. This is why it is important to double-check the recipient's name and address before handing the form to the clerk.
Do I need to tell the post office who I'm sending the money order to?
You fill out a form with the recipient's name and address, but the post office does not verify who they are or whether the transaction is legitimate. The money order is a financial instrument like cash — once you have it, you can send it to anyone. The post office does not track where it goes after you leave the branch.
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 can be traced. If it is lost or stolen before the recipient cashes it, you can file a claim with USPS and receive a replacement or refund. However, once the recipient cashes the money order, the funds are theirs, and you cannot reverse the transaction.
Can I get a refund if I change my mind about buying a money order?
Yes, but only if you have not signed it yet. If you have not written anything on the money order, the post office will refund the full amount plus the fee. Once you sign it or write the recipient's name on it, the post office will not refund it. Treat the purchase as final once you leave the counter.