The most common places to buy a money order

You can buy a money order at your bank, the post office, grocery stores, pharmacies, and check-cashing businesses. Most of these locations are open during regular business hours, and the process takes just a few minutes. The cost is usually between $1 and $5, depending on the amount and where you go.

Your bank is often the cheapest option if you have an account there — many banks charge $3 or less per money order. The post office charges a flat fee that varies by the amount being sent but typically runs $1.45 to $2.45. Grocery stores and pharmacies like Walmart, Target, and CVS charge around $3 to $5 per money order.

Check-cashing businesses and payday loan stores also sell money orders, but their fees are usually higher than banks or the post office. If you're sending a large amount, the fee difference can add up, so it's worth calling ahead to compare prices.

Key Takeaways

  • Banks, the post office, grocery stores, and pharmacies all sell money orders, with banks and the post office typically charging the lowest fees.
  • You'll need cash or a debit card to buy a money order, and you must know the exact amount and the recipient's name before you arrive.
  • The entire transaction usually takes 5 to 10 minutes, and you receive the money order immediately — no waiting period.
  • Money orders are safer than cash or checks for paying bills or sending money to people you don't know well, because they can be tracked and stopped if lost.

What you need to bring to buy a money order

You need to know three things before you walk in: the exact dollar amount, the recipient's name, and how much cash or available funds you have. The seller will ask you to fill out a form with the recipient's name and address, and you'll sign it. Some places accept debit cards, but most require cash.

If you're buying a money order at a bank where you have an account, you can sometimes pay directly from your checking account instead of using cash. Call your bank ahead of time to confirm whether they allow this — policies vary by institution.

Bring a photo ID if you're buying a large money order. Some locations require ID for amounts over $1,000, though this is less common for smaller amounts. It's worth asking the location you plan to visit whether they have an ID requirement.

Banks versus the post office versus retail stores

Banks are the best choice if you're a customer there and need to buy money orders regularly. You can often do it during your regular banking hours, and fees are competitive. Some banks let you order money orders online and pick them up in person, which saves time if you're busy.

The post office is a good option if you don't have a bank account or prefer not to use one. Post offices are widespread, and fees are standardized across all locations. However, post offices have more limited hours than many banks and retail stores, and lines can be long during peak times.

Retail stores like Walmart, Target, and grocery chains are convenient if you're already shopping there. You can buy a money order at the customer service desk or money services counter without opening an account. The trade-off is that fees are usually higher than banks or the post office, and some locations have limits on how much you can spend per transaction.

How to fill out a money order correctly

The seller will give you a form or a blank money order to complete. 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, and avoid nicknames or abbreviations unless that's how they do business.

On the "Amount" line, write the dollar amount in numbers. Some money orders have a separate line for writing out the amount in words (like "Fifty Dollars"), so fill that in too if it's there. The amount in numbers and words must match, or the money order may be rejected.

Sign the money order in the space marked "From" or "Purchaser." Your signature is what makes the money order valid. Keep the receipt or stub that the seller gives you — it has a tracking number you'll need if the money order is lost or never cashed.

Money order limits and fees by location

LocationTypical FeeTypical Limit per TransactionHours
Bank (with account)$1–$3$1,000–$10,000Standard banking hours
Post Office$1.45–$2.45$1,000Limited hours, closed Sundays
Walmart/Target$3–$5$1,000Store hours, often 6am–11pm
Grocery store$3–$5$500–$1,000Store hours
Check-cashing business$5–$10VariesOften extended hours

Most locations cap the amount you can buy in a single money order at $1,000. If you need to send more than that, you'll have to buy multiple money orders. Some banks allow higher limits for customers with accounts in good standing, so ask if you're sending a large amount.

Fees don't change based on the amount of the money order — you pay the same $3 whether you're buying a $10 money order or a $500 one. This means it's more cost-effective to buy one large money order than several small ones.

What to do if you lose a money order or it's never cashed

Keep the receipt or stub you get when you buy the money order. It has a tracking number that lets you find out whether the money order has been cashed and, if it hasn't, stop payment on it. Contact the location where you bought it and give them the tracking number.

If the money order hasn't been cashed yet, you can usually request a refund or a replacement. The process takes time — typically two to four weeks — because the seller has to confirm that the money order is still outstanding. You may have to pay a small fee to stop payment, usually $15 to $30.

If the money order has already been cashed, you cannot recover the money. This is why it's important to send money orders through the mail in a secure way or hand them directly to the recipient. Never leave a signed money order unattended.

Frequently Asked Questions

Can I buy a money order online and pick it up in person?

Some banks and retailers offer this service, but not all. Call your bank or the store's customer service line to ask whether they have online ordering for money orders. If they do, you'll usually pay the fee when you order and pick up the money order within a day or two.

What's the difference between a money order and a cashier's check?

Both are may provide forms of payment, but cashier's checks are issued by banks and are typically used for larger amounts. Money orders are sold by many locations and are better for smaller payments. Cashier's checks usually cost more but can be written for any amount up to your account balance.

Do I need a bank account to buy a money order?

No. You can buy a money order at the post office, retail stores, or check-cashing businesses without a bank account. You'll need cash to pay for it, and you must bring a photo ID if the amount is large.

Can someone else pick up a money order I bought?

No. You must be the one to buy the money order because you sign it. Once you've signed it and given it to the recipient, they can cash or deposit it. Don't sign a blank money order and give it to someone else to fill in.

How long does it take for a money order to clear after someone deposits it?

Money orders typically clear within one to three business days after deposit, depending on the bank. Some banks clear them faster. The recipient's bank will let them know when the funds are available.