The fastest way to get a money order is at your bank, a grocery store, or a check-cashing store — most are open during regular business hours and issue them on the spot

A money order is a piece of paper that works like a check but doesn't require a bank account. You pay the amount you want to send, plus a small fee, and the seller gives you a receipt and the money order itself. You then mail it or hand it to whoever you're paying. The recipient takes it to their bank or a check-cashing place to cash it.

You don't need a bank account, a credit card, or any special status to buy one. You do need cash or a debit card (depending on where you go), and you need to know exactly how much money to send before you walk in. Once you buy it, you can't change the amount.

Key Takeaways

  • Banks, grocery stores, Walmart, Western Union locations, and check-cashing stores all sell money orders during their regular hours.
  • You'll pay between $1 and $5 per money order depending on the amount and where you buy it, with larger amounts sometimes costing more.
  • Bring cash or a debit card and know the exact amount you need before you arrive, since you cannot change it after purchase.
  • Keep your receipt until the recipient confirms they received and cashed the money order, in case you need to report it lost or request a replacement.

Where to buy a money order

Your bank is often the cheapest option if you have an account there. Call ahead to confirm they sell them and ask about their fee — many banks charge $3 to $5 per money order, but some charge less for account holders. You'll need your account number or ID.

Grocery stores with customer service desks — Kroger, Safeway, Albertsons, and others — sell money orders during store hours. The fee is usually $0.70 to $1.50 per money order. You pay in cash at the desk and walk out with it when ready.

Walmart and Target sell money orders at their customer service desks. Walmart's fee is typically around $0.88 for amounts up to $1,000. Target's fee varies by location but is usually under $2. Both accept cash and debit cards.

Western Union and MoneyGram have locations inside grocery stores, pharmacies, and standalone offices. You can also check their websites to find the nearest location. Fees run $1 to $5 depending on the amount. These companies also let you send money directly to someone's bank account or for pickup, which is different from a paper money order.

Check-cashing stores and payday loan offices sell money orders, though their fees tend to be higher — often $2 to $5 per order. Use this option if other places near you are closed.

What to bring and how much it costs

Bring cash or a debit card. Some places take checks, but most don't. You'll also need to know the exact amount you're sending — the seller will write this on the money order and you cannot change it afterward.

The fee depends on three things: where you buy it, how much money the order is for, and whether you have an account at that institution. A $500 money order at a grocery store might cost $0.88, while the same amount at a check-cashing store could cost $3 to $5. A $1,000 order costs more than a $100 order at most places. Banks sometimes charge less for customers.

The total you pay is the amount on the money order plus the fee. If you want to send $200 and the fee is $1, you hand over $201 in cash or on your debit card.

What information you need to fill in

The seller will ask you for the name of the person or business receiving the money — this is the payee. Write it exactly as they tell you to. If you're sending it to "John Smith" but write "Jon Smith," the recipient may have trouble cashing it.

You'll also write your own name and address as the sender. This is so the recipient knows who sent it and can contact you if there's a problem. Some money orders ask for your phone number or account number too, but this varies by seller.

The seller fills in the amount and the date. Do not fill these in yourself — the seller's machine prints them to prevent fraud.

Getting a replacement if it's lost or stolen

Keep your receipt. It has a tracking number that lets you prove you bought the money order. If the money order never arrives or someone cashes it without permission, you'll need this receipt to request a replacement.

Contact the seller or issuer (the company that printed it) with your receipt and tracking number. They will verify that the money order hasn't been cashed. If it hasn't, they'll issue a replacement. If it has been cashed, you'll need to contact the person who cashed it or file a police report.

The replacement process takes time — usually two to four weeks — so don't assume a money order is lost right away. Give the recipient at least a week to receive and cash it before you call.

Money orders vs. other payment methods

A money order is safer than sending cash through the mail because it has a tracking number and can only be cashed by the person whose name is on it. A personal check requires a bank account and can bounce. A wire transfer is faster but costs more and requires both people to have bank accounts.

If you need to send money to someone far away and they need it quickly, a wire transfer or direct money transfer (through Western Union or MoneyGram) is faster than mailing a money order. If you don't have a bank account or want a paper record, a money order is your best choice. If you're paying a bill in person, cash works fine.

Frequently Asked Questions

Can I buy a money order without an ID?

Most places don't require ID to buy a money order under $1,000. However, some states and sellers have different rules, and very large amounts may require ID. Call ahead to ask. You will always need to provide the payee's name and your own name.

What's the maximum amount I can put on one money order?

Most money orders max out at $1,000. If you need to send more, you can buy multiple money orders. Some sellers have lower limits, so ask before you buy.

Can I cancel a money order after I buy it?

Yes, but only if you haven't mailed it or given it to anyone. Take it back to the seller with your receipt and they'll refund your money minus a small cancellation fee, usually $1 to $2. Once someone else has it, you cannot cancel it.

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

Mail delivery takes three to seven business days depending on distance. The money order itself is ready when ready — the delay is only in the postal service. Consider mailing it early if the recipient has a important date.

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

No. The recipient can take it to any bank, credit union, or check-cashing store and cash it for free or a small fee. They don't need an account at that institution.