Where you can buy a money order right now
Money orders are sold at banks, post offices, grocery stores, and convenience stores in your area. The fastest way to find one nearby is to call ahead — most places that sell them keep a supply on hand, but some run out during busy times or have limits on how many you can buy in one transaction.
The United States Postal Service (USPS) sells money orders at every post office location. You can walk in during business hours, fill out a form on the spot, and leave with your money order in minutes. USPS money orders cost between $1.45 and $2.00 depending on the amount, with a maximum of $1,000 per money order.
Banks and credit unions that you already have an account with often sell money orders to members for a small fee — sometimes free. Call your branch to ask whether they stock them and what their fee is. Non-members can usually buy them too, though the fee may be higher.
Grocery stores with customer service desks — Walmart, Target, Kroger, Safeway, and similar chains — sell money orders. The fee is typically $0.50 to $1.50 per money order, and the maximum amount varies by store. Check the customer service desk or call ahead to confirm they have them in stock.
Convenience stores and gas stations often sell money orders through MoneyGram or Western Union, two companies that operate money order networks. Fees at these locations tend to be higher than at post offices or grocery stores — sometimes $2 to $5 per money order — and maximum amounts are lower, often $500 to $1,000.
Key Takeaways
- USPS post offices are open during regular business hours and charge $1.45 to $2.00 per money order with a $1,000 maximum per order.
- Grocery store customer service desks and Walmart typically charge $0.50 to $1.50 and are often faster than post offices during peak times.
- Banks and credit unions may offer lower fees or information programs orders to account holders, so check with your institution first.
- MoneyGram and Western Union locations at gas stations and convenience stores charge higher fees but may have extended hours.
- Call ahead to confirm the location has money orders in stock and ask about their fee and maximum amount before you go.
What you need to bring and how long it takes
To buy a money order, bring cash or a debit card and a form of identification. Most sellers accept both, though some convenience stores may only take cash. A driver's license, state ID, or passport works at any location.
The process takes 5 to 10 minutes at most places. You tell the cashier or clerk the amount you want, they fill out a form or enter it into their system, you pay the amount plus the fee, and you receive the money order. At a post office during a busy time, you may wait in line longer, but the actual transaction is quick.
Some locations have daily or per-transaction limits. USPS allows up to $1,000 per money order but does not limit how many you can buy in one day. Walmart and grocery stores typically cap purchases at $1,000 to $2,000 per day. MoneyGram and Western Union locations may have lower daily limits — sometimes $500 to $1,000 total. Ask when you call.
Comparing fees across different locations
| Location Type | Typical Fee | Maximum Per Order | Hours |
|---|---|---|---|
| USPS Post Office | $1.45–$2.00 | $1,000 | Regular business hours |
| Grocery Store (Walmart, Kroger, Safeway) | $0.50–$1.50 | $1,000–$2,000 | Store hours, often 7 a.m.–11 p.m. |
| Bank or Credit Union | Free–$2.00 (members often lower) | Varies by institution | Bank hours |
| MoneyGram/Western Union (gas station, convenience store) | $2.00–$5.00 | $500–$1,000 | Extended hours, often 24/7 |
How to find a location near you
The easiest way to find nearby sellers is to search online for "money order near me" or "where to buy money order" and your city name. Google Maps will show post offices, banks, and some grocery stores with their hours and distance from you.
USPS has a location finder on its website at usps.com. Enter your zip code and it will list all post offices within a few miles, along with their hours and services. You can also call 1-800-275-8777 to ask about the nearest post office.
For MoneyGram locations, visit moneygram.com and use their agent locator. For Western Union, go to westernunion.com and search by address or zip code. Both show hours and fees for each location.
Calling ahead is worth the minute it takes. Ask whether they have money orders in stock, what their fee is, what the maximum amount is, and whether they accept the payment method you plan to use (cash, debit card, or both).
What happens after you buy your money order
When you receive your money order, check it when ready. The receipt or stub should show the amount, the fee you paid, and a confirmation number. Keep this receipt until the money order is cashed — it is your proof of purchase and the only way to track it if it is lost or stolen.
Write the recipient's name in the "Pay to the Order of" field before you send it. Do not sign it yet — the recipient must sign the back when they cash it. If you sign it before sending it, anyone who receives it can cash it.
Money orders do not expire, but they can be difficult to cash after a long time if the issuer no longer keeps records. If your money order is not cashed within a year or two, contact the seller (USPS, MoneyGram, Western Union, or your bank) with your receipt and confirmation number to verify it and arrange a replacement if needed.
When a money order is not the right choice
Money orders work well for one-time payments to someone you do not have a bank account with, but they are slower and more expensive than other methods for regular payments. If you are paying rent, a utility bill, or a regular vendor, ask whether they accept bank transfers, checks, or online bill pay — all are free or cheaper.
If you need to send money to someone quickly, a wire transfer through your bank is faster, though it costs $15 to $30. If you are sending money to someone in another country, Western Union and MoneyGram offer international money transfers, but fees are high — often 5 to 10 percent of the amount.
If the amount is very large — more than $1,000 — you will need to buy multiple money orders or use a different method. Buying five $1,000 money orders costs $7.25 to $10.00 in fees alone at a post office, whereas a bank wire costs a flat fee.
Frequently Asked Questions
Can I buy a money order online and pick it up near me?
No. Money orders must be purchased in person at a physical location. You cannot order one online and have it delivered or picked up. You must go to the seller, pay the amount plus the fee in cash or with a debit card, and receive the money order on the spot.
What if the location I want to use does not have money orders in stock?
Call another location nearby — a different branch of the same store, a different grocery store, or a post office. Most places restock within a day or two, so you can also ask when they expect their next shipment and come back then. In an emergency, a MoneyGram or Western Union location at a gas station or convenience store is more likely to have stock because they operate longer hours.
Do I need a bank account to buy a money order?
No. You do not need a bank account. You can buy a money order at a post office, grocery store, or MoneyGram/Western Union location with just cash and a photo ID. Banks and credit unions offer them to members, but non-members can usually buy them too, often for a higher fee.
Can I buy a money order with a credit card?
Most locations do not accept credit cards for money orders. Post offices, grocery stores, and MoneyGram/Western Union locations typically accept cash and debit cards only. Some banks may accept credit cards if you are a member, so ask your bank. Buying a money order with a credit card and then cashing it is considered a cash advance by many card issuers and may trigger fees.
What is the difference between a money order and a cashier's check?
Both are may provide payments, but cashier's checks are issued by banks and cost $5 to $15 each, while money orders are sold at many locations and cost $0.50 to $5 each. Cashier's checks have no maximum amount and are better for large payments. Money orders are faster to buy and work for smaller amounts up to $1,000.