The fastest places to buy a money order

You can buy a money order at a bank, credit union, post office, grocery store, or convenience store. Most are open during regular business hours, and you do not need an account to purchase one. The post office and major grocery chains like Walmart and Kroger stock them year-round; smaller convenience stores may run out during busy periods.

Banks and credit unions typically charge $1 to $10 per money order, depending on the amount. The post office charges a flat rate that varies by the money order size — usually $1.45 to $2.00 for amounts under $500. Walmart and grocery stores often charge less, sometimes $0.50 to $1.50. Convenience stores tend to be the most expensive option.

Call ahead if you need a large money order or are buying several at once. Some locations keep only a limited supply on hand, and you may need to wait while they order more or direct you elsewhere.

Key Takeaways

  • Post offices, banks, grocery stores, and convenience stores all sell money orders, with post offices and major chains open most reliably.
  • Costs range from $0.50 to $10 per money order depending on the location and amount, with Walmart and grocery stores usually cheapest.
  • You do not need a bank account or identification to buy a money order, though some places may ask for ID as a fraud check.
  • Money orders have a maximum amount per order — usually $500 to $1,000 — so large payments require multiple orders.
  • Bring cash or a debit card; not all locations accept credit cards for money order purchases.

What you need to bring

Bring cash or a debit card. Most locations accept both, but some convenience stores take cash only. Credit cards are rarely accepted for money order purchases because the transaction is considered a cash advance.

You do not legally need identification to buy a money order. However, some banks, credit unions, and post offices ask for ID as a fraud prevention step. If you do not have ID, call the location first — many will still sell to you without it, especially at grocery stores and convenience stores.

Have the recipient's name and address ready. You will fill in the payee (the person or business receiving the money) at the counter. The cashier will also ask for your name and address as the sender, though some locations do not require this for small amounts.

Money order limits and when you need multiple orders

A single money order has a maximum amount. The post office caps them at $1,000. Banks and credit unions often allow up to $1,000 or $2,500, depending on the institution. Walmart and grocery stores typically max out at $500 to $1,000 per order.

If you need to send more than the limit, you will buy multiple money orders. For example, to send $2,500, you might buy three money orders: two for $1,000 and one for $500. Each order costs separately, so the total fee increases. Some recipients prefer one large payment, so confirm they will accept multiple orders before you buy them.

Check the location's limit before you go. Calling ahead saves a trip if you need a larger amount than they typically handle.

How to fill out a money order correctly

The cashier will hand you a blank money order form. Fill in the payee name (the recipient) in the "Pay to the Order of" line — use the exact name on their account or business registration. Write clearly in pen, not pencil.

Write the amount in both the box (numerals) and the line (words). For example, if sending $150, write "150.00" in the box and "One Hundred Fifty Dollars" on the line. The two must match, or the recipient may not be able to cash it.

Sign the money order in the "From" or "Purchaser" section. Do not sign the back — that is for the recipient only. Some forms ask for your address; fill it in if requested. Keep your receipt, which shows the money order number and amount. You will need it if the money order is lost or never cashed.

Tracking and replacing a lost money order

Keep your receipt. It contains the money order number, which is how you track or replace it if it goes missing. If the money order is lost or stolen before the recipient cashes it, contact the issuer (the post office, bank, or store where you bought it) with your receipt.

The issuer will put a trace on the money order to see if it has been cashed. If it has not been cashed within a set time — usually 30 to 90 days — they will issue a replacement. If it has been cashed, you will need to contact the recipient to confirm they received it.

Some issuers charge a fee to replace a lost money order, typically $15 to $30. This is another reason to keep your receipt in a safe place and deliver money orders promptly to their recipient.

Money orders versus other payment methods

Money orders are safer than cash because they are traceable and cannot be spent without the recipient's signature. They are also more widely accepted than personal checks for one-time payments, especially from people without bank accounts or with poor credit history.

However, money orders cost more than a bank transfer or online payment. If both you and the recipient have bank accounts, a wire transfer or ACH transfer is usually faster and cheaper. Money orders are best for situations where you do not have a bank account, the recipient does not accept electronic payments, or you need a physical proof of payment.

For rent, utility bills, or court-ordered payments, check whether the recipient accepts money orders before you buy one. Some landlords and government agencies require specific payment methods.

Finding a location near you

Use Google Maps or your bank's website to search "money order near me" or "Western Union near me" (Western Union is a money transfer service sold at many retail locations). Most post offices, Walmart stores, and grocery stores appear in the results with hours and phone numbers.

If you live in a rural area or small town, call ahead. Smaller post offices and convenience stores sometimes run out of money order forms or close earlier than you expect. Having a backup location in mind saves time.

Some banks and credit unions offer money orders only to account holders. If you do not have an account, start with the post office, Walmart, or a grocery store — all serve the general public without restrictions.

Frequently Asked Questions

Can I buy a money order online and print it at home?

No. Money orders must be purchased in person at a physical location. Online bill pay and wire transfers are the digital alternatives if you need to send money remotely. Some banks offer bill pay services that mail a check on your behalf, which is similar but not the same as a money order.

What if I make a mistake filling out the money order?

Do not cross out or erase. Ask the cashier for a new blank form and start over. Most locations will void the incorrect one and give you a fresh form at no extra charge. Keep the voided copy in case there is a question later.

Can I cash a money order that someone sent me?

Yes. Take it to any bank, credit union, post office, or check-cashing service. You will need to sign the back and may be asked for ID. The funds are usually available immediately or within one business day.

Is there a limit to how many money orders I can buy at once?

No legal limit exists, but locations may have their own policies. Buying 10 or more at once might trigger fraud checks or require you to return another day. Call ahead if you need a large quantity.

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

No. Money orders are sold to anyone with cash or a debit card. This is why they are common for people without bank accounts or those who prefer not to use them for certain payments.