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 service. Most of these locations are within a few miles of your home, and the process takes less than five minutes. The fee ranges from about 50 cents to $5 depending on where you go and the amount you're sending — smaller amounts and chain locations tend to cost less.

Not every location carries money orders, so calling ahead saves a trip. Banks and credit unions almost always have them; grocery stores and pharmacies usually do; check-cashing services always do. The post office carries them but lines can be long. Your best bet for speed and low cost is often a nearby grocery store or pharmacy you already visit.

Key Takeaways

  • Banks, credit unions, post offices, grocery stores, pharmacies, and check-cashing services all sell money orders, with fees ranging from 50 cents to $5.
  • Grocery stores and pharmacies are often the fastest and cheapest option, while post offices and banks are reliable but may have longer waits.
  • You will need cash or a debit card to buy a money order; most places do not accept credit cards.
  • Call ahead to confirm the location carries money orders and ask about their fee and maximum amount before you go.

Banks and credit unions

Your own bank or credit union is a reliable place to buy a money order, especially if you already have an account there. Fees are usually $1 to $3 per money order. Most banks and credit unions will let you buy a money order during regular business hours without an appointment, though you may wait in line.

Some banks limit the amount you can buy in a single day or charge more for larger amounts. Ask your bank about their maximum before you go. If you bank online-only, you may not be able to buy a money order in person — call and ask first.

The U.S. Postal Service

Post offices sell money orders for a flat fee of around $1.45 for amounts up to $500, and about $1.95 for amounts from $500 to $1,000. This is often cheaper than other places, but post office lines can be long, especially during lunch hours and around the first of the month.

You can buy a money order at any post office location, including smaller branches inside grocery stores. Bring cash or a debit card. If you are mailing something anyway, buying a money order at the same counter saves a trip.

Grocery stores and pharmacies

Chains like Walmart, Target, Kroger, Safeway, CVS, and Walgreens sell money orders at their customer service desk. Fees are usually $0.50 to $1.50 per money order. These locations are often open early and late, and lines move faster than at banks or post offices.

Maximum amounts vary by store — some cap at $500, others at $1,000. Call the specific location you plan to visit and ask about their limit and fee. Many grocery stores and pharmacies are open seven days a week, which makes them convenient if you need a money order on a weekend.

Check-cashing services

Check-cashing stores always carry money orders and are designed for quick transactions. Fees tend to be higher than other places — typically $2 to $5 per money order — but you will be in and out quickly. These services are useful if you need a money order outside normal business hours or in an area where banks and grocery stores are far away.

Check-cashing services are common in urban areas and less common in rural ones. Search online for "check cashing near me" to find locations. Bring cash or a debit card.

What you need to bring

Bring cash or a debit card. Most places that sell money orders do not accept credit cards. You will also need to know the exact amount you want to send and the name of the person or business receiving the money order — this information goes on the money order itself.

You do not need an account at the location where you buy the money order. You do not need an ID for most purchases, though some check-cashing services may ask for one. If you are buying a money order for more than $3,000, the seller is required by federal law to record your ID information.

How to find the cheapest option near you

Call three nearby locations and ask their fee for the exact amount you need. A $0.50 difference sounds small, but if you send money orders regularly, it adds up. Ask about maximum amounts too — if one place caps at $500 and you need $750, you will have to buy two money orders there instead of one elsewhere.

If you are in a hurry, a grocery store or pharmacy is usually your fastest bet. If you want the lowest fee and do not mind waiting, the post office is often cheapest. If you need a money order outside business hours, a check-cashing service may be your only option.

Frequently Asked Questions

Can I buy a money order with a credit card?

Most places do not accept credit cards for money orders. Bring cash or a debit card instead. Some credit card companies also treat money order purchases as cash advances, which means you will pay a higher interest rate and an extra fee.

What is the maximum amount I can buy in one money order?

Most places cap a single money order at $500 to $1,000. If you need to send more than that, you can buy multiple money orders. Call ahead to confirm the limit at your chosen location.

Do I need an account to buy a money order?

No. You can buy a money order at any bank, post office, grocery store, or check-cashing service without having an account there. Bring cash or a debit card and the name of the person receiving the money.

How long does it take to buy a money order?

The actual transaction takes two to five minutes. The wait time depends on how busy the location is. Grocery stores and pharmacies usually have shorter lines than banks or post offices, especially during off-peak hours.

What if the location near me does not carry money orders?

Call ahead to confirm before you go. If your closest option does not carry them, search online for "money order near me" or try the next nearest grocery store, pharmacy, or post office. Check-cashing services always carry money orders.