The most common 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 of these locations are within a few miles of your home, and the process takes less than five minutes. The cost ranges from about 70 cents to $2, depending on where you go and the amount of the money order.

Banks and credit unions are often the cheapest option if you have an account with them — some offer money orders free to members. The post office charges a flat fee regardless of the amount. Grocery stores and convenience stores charge per money order but are open longer hours than banks, which can matter if you need one on a weekend or evening.

Key Takeaways

  • Banks, credit unions, post offices, grocery stores, and convenience stores all sell money orders, with costs ranging from free to about $2 per order.
  • The post office accepts money orders up to $1,000 per order, while most banks and retailers have similar limits but may vary by location.
  • You will need cash or a debit card to buy a money order — most places do not accept credit cards for this transaction.
  • Bring the recipient's name and address, your own identification, and the amount you want to send so the transaction moves quickly.

Banks and credit unions

Your own bank or credit union is often the cheapest place to buy a money order. Many institutions offer them free to account holders, or charge only 50 cents to $1. If you do not have an account, they may still sell you one but will charge the full retail price, usually $1 to $2.

The teller will ask for the recipient's name, the amount, and your identification. They fill out the money order on the spot and you pay immediately. Most banks limit money orders to $1,000 per order, though you can buy multiple orders if you need to send more.

The main drawback is hours — most banks close by 5 or 6 p.m. on weekdays and are closed on Sundays. If you need a money order outside those hours, you will need to go elsewhere.

The post office

The United States Postal Service sells money orders at every post office location. The fee is currently 1.45 dollars for amounts up to $500, and 1.95 dollars for $500.01 to $1,000. You can buy up to $1,000 per money order, and you can purchase multiple orders in one visit if you need to send more.

Bring your identification and cash or a debit card. The postal clerk will fill out the money order with the recipient's name and address, and you pay at the counter. The transaction is quick — usually under five minutes.

Post offices have longer hours than most banks, with many open on Saturdays and some on Sundays. However, hours vary by location, so check your local branch before you go. Post offices are also reliable for sending the money order itself if you want to mail it rather than deliver it by hand.

Grocery stores and convenience stores

Most large grocery chains and convenience stores like 7-Eleven, Circle K, and Speedway sell money orders. The fee is typically $1 to $1.50 per order, and the limit is usually $500 to $1,000 depending on the store. These locations are often open early and close late, making them convenient if you need a money order outside normal business hours.

The process is the same as at a bank: you provide the recipient's name and address, your identification, and the amount. The cashier fills it out and you pay. Some stores may require you to have a rewards card or account with them, so ask before you assume they will sell to you.

The main limitation is that not every grocery store or convenience store location sells money orders — call ahead or ask at the customer service desk when you arrive. Availability can also depend on the time of day; some stores stop selling them after a certain hour for security reasons.

Walmart and other retailers

Walmart sells money orders at the customer service desk in most locations. The fee is currently 94 cents for money orders up to $1,000. You will need your identification and cash or a debit card. The limit is $1,000 per money order.

Walmart is open late most days and on Sundays, which makes it a good option if you need a money order outside standard banking hours. The process is quick — the customer service associate will fill it out while you wait.

Other large retailers like Target and Costco do not typically sell money orders, so Walmart is the main retail option if you prefer not to use a bank, post office, or convenience store.

What you need to bring

Bring a valid photo identification — a driver's license, passport, or state ID card. You will also need the recipient's full name and mailing address, and you should know the exact amount you want to send. Have cash or a debit card ready; most places do not accept credit cards for money orders.

If you do not know the recipient's exact address, ask them before you go to buy the money order. If the address is wrong, the money order may be rejected or delayed. Some places will let you correct a minor error on the spot, but it is better to get it right the first time.

Comparing costs and hours

LocationTypical FeeLimit per OrderHours
Bank (account holder)Free to $1$1,000Weekdays until 5–6 p.m.; limited Saturday hours
Credit Union (member)Free to $1$1,000Weekdays until 5–6 p.m.; limited Saturday hours
Post Office$1.45–$1.95$1,000Varies; many open Saturday; some open Sunday
Walmart$0.94$1,000Open late most days; open Sunday
Convenience Store$1–$1.50$500–$1,000Open early and late; varies by location
Grocery Store$1–$1.50$500–$1,000Varies; many open until 10 p.m. or later

Frequently Asked Questions

Can I buy a money order with a credit card?

Most places do not accept credit cards for money orders. Banks, the post office, and retailers typically require cash or a debit card. If you do not have cash on hand, use an ATM to withdraw it before you go, or ask if the location has an ATM you can use on-site.

What if I make a mistake on the money order?

If you notice an error before you leave the location, tell the cashier or teller immediately. They can usually void it and issue a new one. If you discover the mistake after you leave, contact the issuing location — they may be able to stop payment and reissue it, though this can take time and may involve a fee.

Can I buy a money order for more than $1,000?

Most places cap money orders at $1,000 per order. If you need to send more than $1,000, you can buy multiple money orders in one visit. For example, to send $2,500, you would buy three money orders: two for $1,000 and one for $500.

Do I need to register a money order with my name?

Yes. The issuer will record your name and identification when you buy it. This protects you if the money order is lost or stolen — you can report it and request a replacement. The recipient's name goes on the money order itself, but your information stays with the issuer's records.

Which location is cheapest if I do not have a bank account?

Walmart at 94 cents is the cheapest option for non-account holders. The post office charges $1.45 to $1.95 depending on the amount. Convenience stores and grocery stores typically charge $1 to $1.50, so Walmart usually wins on price.