The most common places to buy a money order

You can buy a money order at a bank, credit union, post office, grocery store, pharmacy, or check-cashing business. Not every location sells them, and prices vary — a post office money order typically costs less than one from a grocery store or check-cashing place. Call ahead or check the website of the specific branch you plan to visit, because some locations have stopped offering them or limit how many you can buy at once.

The fastest option is usually wherever you already bank. If you have a checking account at a bank or credit union, you can walk in during business hours and buy one on the spot. Many banks sell money orders to non-customers too, though some charge a higher fee for that. Post offices are open on Saturday at most locations, which can be helpful if you work weekdays.

Key Takeaways

  • Banks, credit unions, and post offices typically charge the least — usually between $1 and $5 per money order.
  • Grocery stores, pharmacies, and check-cashing businesses charge more, often $5 to $10 per order, but are open longer hours.
  • You need cash or a debit card to buy a money order; credit cards are not accepted at most places.
  • Bring your ID and know the exact amount you need, because you cannot get change — you have to buy another money order if you overpay.

Banks and credit unions

A bank or credit union is usually the cheapest place to buy a money order. Fees typically range from $1 to $5 per order, and account holders often pay less than non-customers. Most banks can issue a money order in a few minutes during regular business hours.

If you do not have an account at a bank, you can still buy a money order there — just expect to pay a higher fee, sometimes $5 or more. Call the branch first to confirm they sell money orders and what they charge non-customers. Some banks have stopped offering them entirely, so do not assume every location has them.

The post office

The United States Postal Service sells money orders at every post office location. The fee is fixed by the federal government and does not change by location: as of now, it is $1.45 for a money order up to $500, and $1.95 for one from $500.01 to $1,000. You can buy up to ten money orders per transaction.

Post offices are open Saturday at most locations and some offer extended weekday hours, which makes them convenient if you cannot get to a bank during the week. Bring your ID and cash or a debit card. The post office will not issue a money order for more than $1,000, so if you need a larger amount you have to buy multiple orders.

Grocery stores and pharmacies

Many grocery stores and pharmacies sell money orders at the customer service desk or pharmacy counter. Fees are usually higher than banks — typically $5 to $10 per order — but they are often open later and on weekends. Walmart, Target, and most supermarket chains offer them, though not every store location does.

Call the store ahead of time to confirm they sell money orders and what the fee is. Limits vary by store — some cap you at five per transaction, others at ten. You will need cash or a debit card and your ID.

Check-cashing businesses

Check-cashing stores and payday loan businesses typically sell money orders, and they are often open late or on Sunday when banks are closed. The trade-off is cost: fees are usually $5 to $15 per order, making them the most expensive option. Use this route only if you need a money order outside normal business hours and have no other choice.

Bring your ID and cash or a debit card. Ask about the fee before you buy, because it varies by location and by the amount of the money order.

What you need to bring and how to pay

You will need a valid photo ID — a driver's license, passport, or state ID card. You cannot buy a money order without one. Bring cash or a debit card; credit cards are not accepted at most places. Some locations accept checks, but that is rare.

Know the exact amount you need before you arrive. Money orders are issued for a specific amount and you cannot get change. If you need $150 and accidentally buy a $160 money order, you have to buy another one for the correct amount — you cannot return the first one for a refund. The fee is non-refundable even if you change your mind.

Comparing fees and hours across locations

The table below shows typical fees, hours, and transaction limits at each type of location. These vary by specific branch or store, so call ahead to confirm what your nearest location charges and when they are open.

LocationTypical FeeHoursLimit per Transaction
Bank or credit union$1–$5Weekdays, some SaturdayVaries by bank
Post office$1.45–$1.95Weekdays, most Saturday10 per transaction
Grocery store or pharmacy$5–$10Extended hours, weekends5–10 per transaction
Check-cashing business$5–$15Late evening, SundayVaries by location

If cost is your main concern, the post office is almost always the cheapest option. If convenience matters more — you need one on a Sunday evening or do not want to leave your neighborhood — a grocery store or check-cashing business is worth the higher fee. For most people, a bank or credit union offers the best balance of low cost and reasonable hours.

Frequently Asked Questions

Can I buy a money order online and have it mailed to me?

No. Money orders must be purchased in person at a physical location. Some banks offer them through their app or website, but you still have to pick it up at a branch or have it mailed to you, which takes several days. For urgent needs, buy one in person.

What is the maximum amount I can put on a single money order?

The post office caps money orders at $1,000. Banks and other retailers may have different limits — some allow up to $1,000, others less. If you need to send more than $1,000, you have to buy multiple money orders.

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

No. You can buy a money order at a post office, grocery store, pharmacy, or check-cashing business without an account. Banks will sell to non-customers too, though they usually charge a higher fee than they charge account holders.

Can I use a credit card to buy a money order?

Most places do not accept credit cards for money orders. Cash and debit cards are the standard payment methods. A few banks may accept credit cards, so call ahead if that is your only payment option.

What happens if I lose a money order before I cash it?

Contact the place where you bought it immediately. The post office and most retailers can issue a replacement if you have your receipt and can provide the money order number. Without a receipt, replacement is much harder. Keep your receipt until the money order is cashed.