The Post Office is the most common place to buy a money order

The United States Postal Service (USPS) sells money orders at nearly every post office location in the country. You walk in, fill out a form, hand over cash or a debit card, and walk out with a money order — the whole process usually takes 5 to 10 minutes. Post offices are open on weekdays and many locations have Saturday hours, so you have more scheduling flexibility than you might with a bank.

USPS money orders work the same way as those from other sellers: the recipient takes it to their bank or a check-cashing location to convert it to cash or deposit it. The money order is may provide by the postal service, so the recipient does not have to worry about whether your account has funds. You get a receipt with a tracking number, which means you can verify the money order was cashed if there is ever a dispute.

The main trade-off is cost. USPS charges a fee for each money order — the amount depends on the size of the order and varies slightly by location, but expect to pay between $1.45 and $2.00 for orders up to $500. That fee is separate from the amount you are sending, so if you need to send $100, you will pay $100 plus the fee.

Key Takeaways

  • You can buy a money order at any USPS location by paying cash or using a debit card, and you will receive a receipt with a tracking number.
  • USPS money orders cost between $1.45 and $2.00 per order depending on the amount and your location.
  • The maximum amount for a single USPS money order is $1,000, so larger payments require multiple orders.
  • You need the recipient's name and address to fill out the form, but you do not need their account number or banking information.
  • Money orders can be mailed, handed directly to the recipient, or picked up in person at a post office if you arrange it with the recipient.

What you need to bring to the post office

You need the recipient's name and mailing address. Write these down before you go, or have them on your phone — the postal clerk will ask for them and you will need to write them on the money order form. If you are sending the money order by mail, make sure the address is correct, because the postal service will not deliver it to a wrong address the way it would a letter.

Bring cash or a debit card to pay for the money order and the fee. Most post offices accept both. Some locations may accept credit cards, but this varies, so calling ahead is safer if you only have a credit card. You do not need an ID to buy a money order at USPS, though the clerk may ask for one and you should have it with you anyway.

You do not need the recipient's bank account number, routing number, or any banking information. A money order only requires a name and address. This is one reason people use them for situations where they do not want to share their bank details — paying a contractor, sending money to someone they just met, or settling a debt with someone they do not fully trust.

How to fill out the money order form

The postal clerk will hand you a form and a carbon copy. The form has spaces for the recipient's name (called the "payee"), their address, the amount, and your name and address (called the "purchaser"). Fill in the amount in both the box and the written line — write it the same way both times so there is no confusion. Use a pen, not a pencil.

Write the recipient's name exactly as they would want it to appear. If you are sending it to a business, use the business name. If you are sending it to a person, use their full name or the name they go by — if the name does not match their ID when they try to cash it, the bank may refuse it. Leave the memo line blank unless you want to note what the payment is for (like "rent" or "invoice 2024-001"), but this is optional.

Sign the form in the purchaser section. The postal clerk will also sign or stamp it. Keep your copy of the receipt — it has the tracking number and the amount, and you will need it if you ever need to prove you sent the money order or if it goes missing in the mail.

Limits on how much you can send

A single USPS money order has a maximum value of $1,000. If you need to send more than that, you will have to buy multiple money orders. For example, if you need to send $2,500, you would buy three money orders: two for $1,000 each and one for $500. Each one costs a separate fee, so your total cost would be $2,500 plus three fees (roughly $4.35 to $6.00 depending on your location).

There is no daily or weekly limit on how many money orders you can buy, but if you are buying a very large number at once, the postal clerk may ask questions or request ID. This is standard anti-fraud practice and is not a reason to worry — just be prepared to show ID and explain what you are doing.

Mailing the money order or delivering it in person

You can mail the money order through USPS like a regular letter, but do not put it in a standard mailbox. Take it to the post office and ask the clerk to mail it. You can pay for tracking or delivery confirmation so you know when it arrives, though this costs extra. Without tracking, you have no way to know if the money order was delivered or lost in the mail.

If you want to track it, ask for Certified Mail or Priority Mail Express. Certified Mail is cheaper and usually takes 3 to 5 business days. Priority Mail Express is faster (1 to 2 business days) but costs more. Both give you a tracking number and proof of delivery. Keep your receipt and the tracking number until the recipient confirms they received it and cashed it.

You can also hand the money order directly to the recipient in person, or arrange for them to pick it up at a specific post office location. If you choose pickup, you will need to coordinate with the recipient and the post office, and the money order will be held for a limited time before being returned to you.

When a money order is lost or not cashed

If you mailed a money order and it never arrived, or if the recipient says they never received it, contact USPS with your receipt and tracking number. The postal service can investigate and may issue a replacement if the money order was lost in transit. This process can take several weeks, so it is one reason tracking is worth the extra cost.

If you bought a money order and changed your mind before sending it, you can return it to the post office for a refund. Bring your receipt and the unused money order. The postal service will refund the amount of the money order but will keep the fee you paid — you do not get that back. This is why it is worth double-checking the amount and recipient before you hand over your cash.

If a money order was cashed but you did not authorize it, or if you suspect fraud, report it to USPS immediately. Bring your receipt and any evidence you have. The investigation process is similar to a lost money order case and can take time, but the postal service takes fraud seriously.

Alternatives to the post office

Banks often sell money orders to their customers, sometimes at a lower fee than USPS. If you have a bank account, call your bank and ask whether they offer money orders and what they charge. Some banks sell them only to account holders, while others sell them to anyone.

Grocery stores, check-cashing services, and some retail locations like Walmart also sell money orders. These are often cheaper than the post office — fees can be as low as $0.50 to $1.00 — but not every location offers them and hours may be limited. The trade-off is convenience: the post office is almost always available, but other sellers may have lower fees if you are willing to shop around.

Frequently Asked Questions

Can I buy a money order with a credit card at the post office?

Most USPS locations do not accept credit cards for money order purchases, only cash or debit cards. Some locations may make exceptions, so call ahead if you only have a credit card. Alternatively, you can withdraw cash from an ATM and use that to buy the money order.

What happens if I write the wrong amount on the money order?

If you catch the mistake before you leave the post office, tell the clerk immediately and they can void it and issue a new one. If you have already left, you can return with your receipt and ask for a replacement. The postal service will not refund the fee, but they will issue a corrected money order at no additional charge.

How long does it take for a money order to arrive if I mail it?

Standard mail delivery takes 3 to 5 business days depending on distance. If you want faster delivery, use Priority Mail Express (1 to 2 business days) or Priority Mail (2 to 3 business days). Both cost extra but include tracking so you know when it arrives.

Can the recipient cash a money order at any bank?

Most banks will cash a USPS money order for free if the recipient has an account there. Check-cashing services and some retail locations will also cash it, though they may charge a small fee. The recipient does not need to have an account at any specific bank — any financial institution that cashes money orders will accept a USPS money order.

Is a money order safer than sending cash in the mail?

Yes. Cash sent through the mail can be lost or stolen and there is no way to recover it. A money order is traceable and can be replaced if it is lost or stolen, as long as you kept your receipt. This is the main reason people use money orders instead of cash for important payments.