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 stock them during regular business hours, though availability and fees vary. A bank or credit union is often the cheapest option if you already have an account there — some charge nothing. Post offices, Walmart, and grocery store customer service desks typically charge $1 to $2 per money order. Convenience stores and check-cashing businesses charge more, usually $2 to $5.

The fastest route depends on where you are. If you need one right now, a nearby convenience store or gas station is usually open late or on weekends. If you can wait until business hours, your bank or credit union will likely be cheaper. A post office is a middle ground — reasonable fees, standard hours, and they're in most neighborhoods.

Key Takeaways

  • Banks and credit unions are usually the cheapest source for money orders, sometimes charging nothing for account holders.
  • Post offices, Walmart, and grocery stores charge $1 to $2 per money order and are open during standard business hours.
  • Convenience stores and check-cashing businesses charge $2 to $5 but are often open evenings and weekends.
  • You will need cash or a debit card to buy a money order; most places do not accept credit cards.
  • The maximum amount per money order is usually $500 to $1,000 depending on the issuer, so large payments require multiple money orders.

What you need to bring and how the process works

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 and the name of the person or business receiving the money. The seller will ask you for the payee name (who the money order is for) and your name as the purchaser. They fill in the amount, you pay the fee plus the money order amount, and you receive the money order to send or deliver.

The whole transaction takes about five minutes. You do not need an ID or bank account, which is why money orders are useful when you cannot use a check or bank transfer. Some places will ask for your phone number or address for their records, but this is optional at most locations.

Banks and credit unions

If you have a checking or savings account, your bank or credit union is usually your cheapest option. Many charge $0 to $1 per money order for account holders. You will need your account number or debit card, and you can buy them during regular business hours — typically 9 a.m. to 5 p.m. on weekdays, with limited Saturday hours at some branches.

Call ahead if you need a large amount or multiple money orders at once. Some branches keep only a limited stock on hand and may need to order them. If you bank online-only, you may not be able to buy money orders in person, so check your bank's website or call their customer service line first.

Post offices

The U.S. Postal Service sells money orders at every post office location. The fee is a flat $1.45 for amounts up to $500, and $1.95 for amounts from $500.01 to $1,000. Post offices are open Monday through Friday during standard business hours, and many have Saturday morning hours. A few locations in major cities have extended weekday hours.

You do not need an account or ID. Bring cash or a debit card and the payee name. The postal worker will fill in the money order while you wait. Post offices are reliable and widely available, making them a good middle-ground choice if your bank is closed or you do not have an account.

Walmart and grocery stores

Walmart and most grocery store chains (including Kroger, Safeway, and Albertsons) sell money orders at the customer service desk. Fees are typically $0.88 to $1.50 at Walmart and $1 to $2 at grocery stores, depending on the location and the amount. These places are often open longer than banks — many Walmart locations stay open until 10 or 11 p.m., and some are 24 hours.

You do not need an account or ID. The process is the same: tell the cashier the amount and payee name, pay in cash or with a debit card, and receive the money order. This is a good option if you are already shopping or need a money order outside of bank hours.

Convenience stores and check-cashing businesses

7-Eleven, Circle K, and other convenience stores sell money orders, as do check-cashing businesses and payday loan storefronts. Fees range from $2 to $5 per money order, making them the most expensive option. However, they are often open 24 hours or very late, which can be the only choice if you need a money order after hours or on a holiday.

You do not need an ID or account. Bring cash or a debit card and the payee name. The transaction is quick, but the higher fee means you should use this option only when other sources are closed. If you use check-cashing services regularly, ask if they offer a discount for multiple money orders.

Maximum amounts and when you need multiple money orders

Most money order issuers cap the amount per money order at $500 or $1,000. The U.S. Postal Service allows up to $1,000. Banks, Walmart, and most other retailers typically max out at $500 to $1,000 depending on their policy. If you need to send more than the limit, you will have to buy multiple money orders.

For example, if you need to send $2,500 and the limit is $1,000, you would buy three money orders: two for $1,000 each and one for $500. Each one has its own fee, so the total cost is higher. Ask the seller what their maximum is before you buy, so you know how many you need. Some businesses that receive money orders (like utility companies or government agencies) have specific instructions about whether they accept multiple money orders or prefer a single payment method.

Frequently Asked Questions

Can I buy a money order with a credit card?

Most places do not accept credit cards for money orders. Cash and debit cards are the standard payment methods. Some banks may allow credit card purchases if you have a specific account type, so call your bank to ask. Check-cashing businesses occasionally accept credit cards but charge an additional fee for doing so.

Do I need an ID to buy a money order?

No. Money orders do not require an ID, bank account, or credit check. You only need to provide the payee name and the amount. Some locations ask for your phone number or address for their records, but this is optional at most retailers.

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

Contact the issuer (your bank, the post office, or the retailer) immediately with your receipt. They can put a stop on it and issue a replacement, but this process takes time and may cost a small fee. Keep your receipt in a safe place until the money order is delivered and cashed.

Can I buy a money order on a Sunday or holiday?

Banks and post offices are closed on Sundays and federal holidays. Walmart, grocery stores, and convenience stores are usually open. Call ahead to confirm hours at your nearest location, as Sunday and holiday hours vary by store.

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

No official limit exists, but some retailers may ask questions or require advance notice if you buy a very large quantity at once. This is a fraud-prevention measure. If you need many money orders, call ahead or visit during a quiet time to avoid delays.