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 open during regular business hours, and the process takes just a few minutes. The cost is usually between $1 and $5, depending on the amount and where you go.

Banks and credit unions often charge less than retail locations, especially if you have an account with them. The post office is reliable and available in most towns. Grocery stores and convenience stores are convenient if you need one outside normal banking hours, though some have limited hours or may not offer them at all.

Not every location offers money orders, so it's worth calling ahead or checking their website before you go. Some smaller convenience stores or gas stations may not carry them, particularly in rural areas.

Key Takeaways

  • Banks, credit unions, and the post office are the most reliable places to buy a money order, with fees typically between $1 and $5.
  • Grocery stores and convenience stores offer money orders but may have higher fees and limited availability depending on location.
  • You will need cash or a debit card to buy a money order; most places do not accept credit cards for this transaction.
  • Call ahead to confirm a location carries money orders, since not all retail stores offer them.
  • The post office and banks are usually open during standard business hours, while some grocery stores and convenience stores stay open later.

Banks and credit unions

Your bank or credit union is often the cheapest place to buy a money order. If you have a checking or savings account, you may pay $1 to $3 per money order. Non-members typically pay more, sometimes $5 or higher.

You will need to go to a branch during business hours and bring cash or a debit card. The teller will fill out the money order with the payee name and amount, and you sign it. The whole process usually takes less than five minutes.

Call your bank or credit union first to confirm they sell money orders and ask about their fee. Some smaller credit unions or online-only banks do not offer them.

United States Postal Service

The post office sells money orders at nearly every location across the country. The fee is a flat rate based on the amount: currently $1.45 for amounts up to $500, and $1.95 for amounts from $500.01 to $1,000. These rates can change, so check the USPS website or call your local post office to confirm current pricing.

You can buy a postal money order during regular post office hours with cash or a debit card. Bring your ID. The postal worker will help you fill it out, and you can usually get it in a few minutes. Some post offices are inside grocery stores or pharmacies, which may have different hours than a standalone post office.

Postal money orders are widely recognized and accepted, which makes them a solid choice if you are sending money to an unfamiliar person or business.

Grocery stores and supermarkets

Most large grocery chains—including Walmart, Target, Kroger, and Safeway—sell money orders at their customer service desk. Fees vary by store but are usually $2 to $4. Some stores limit the amount you can buy in a single money order, often capping at $500 or $1,000.

You can pay with cash or a debit card. Bring your ID. The process is quick, though the customer service desk may have a line, especially during busy hours. Many grocery stores are open earlier and close later than banks, making them convenient if you need a money order outside standard business hours.

Not all grocery stores sell money orders, and availability can vary by location. Call ahead to confirm, or check the store's website.

Convenience stores and gas stations

Many convenience stores and gas stations sell money orders through services like MoneyGram or Western Union. Fees are typically $2 to $5, and limits are often $500 to $1,000 per money order. These locations are usually open late or 24 hours, which is useful if you need a money order outside normal business hours.

You will need cash or a debit card and your ID. The clerk will process the transaction at the register. However, not all convenience stores or gas stations carry money orders—availability depends on the individual location and franchise agreements.

Call or visit the store first to confirm they sell money orders. If one location does not have them, another nearby may.

What you need to bring

You will need cash or a debit card to pay for the money order and its fee. Most locations do not accept credit cards for money orders. Bring a valid photo ID—a driver's license, passport, or state ID card. Some locations may ask for additional identification if the amount is large.

Have the payee's name ready. This is the person or business the money order is for. You will also need to know the exact amount. If you are unsure of either, ask the clerk—they can help you fill out the form correctly.

Comparing fees and hours

LocationTypical FeeHoursAccepts Non-Members
Bank$1–$3 (members); $3–$5 (non-members)9 AM–5 PM weekdays; limited SaturdayYes, higher fee
Credit Union$1–$3 (members); $3–$5 (non-members)9 AM–5 PM weekdays; limited SaturdayYes, higher fee
Post Office$1.45–$1.95 (flat rate)9 AM–5 PM weekdays; limited SaturdayYes
Grocery Store$2–$47 AM–10 PM (varies by store)Yes
Convenience Store/Gas Station$2–$5Often 24 hoursYes

Banks and credit unions are usually the cheapest option if you have an account. The post office offers consistent, predictable pricing. Grocery stores and convenience stores cost more but offer longer hours and more locations. Choose based on what matters most to you: lowest cost, convenience, or speed.

Frequently Asked Questions

Can I buy a money order online and pick it up in person?

Most places do not allow online pre-orders for money orders. You typically have to go in person, fill out the form, and pay on the spot. Some banks may allow you to order one by phone and pick it up at a branch, but this is rare. Call your bank or the location you plan to visit to ask.

What if I do not have a photo ID?

Most locations require a valid photo ID to buy a money order. If you do not have one, ask the clerk what alternative forms of identification they accept. Some may accept a passport card, tribal ID, or military ID. If you have none of these, you may not be able to buy a money order at that location.

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

Most locations do not accept credit cards for money orders. You will need cash or a debit card. Some banks may allow account holders to pay with a check or transfer funds from their account, but this is uncommon. Call ahead to ask about payment options.

Is there a limit to how much a money order can be for?

Most money orders have a maximum limit of $500 to $1,000 per order. If you need to send more than that, you can buy multiple money orders. The post office allows up to $1,000 per money order. Check with your specific location for their limit.

How long does it take to buy a money order?

The process usually takes 5 to 10 minutes, depending on how busy the location is and whether you have all the information ready. Bring the payee name and amount with you to speed things up. During peak hours, you may wait longer in line.