The fastest 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 places have them available during regular business hours, and the process takes just a few minutes. A bank or credit union is often the cheapest option if you already have an account there — some charge nothing at all. Post offices, grocery stores, and convenience stores typically charge between $1 and $5 per money order, depending on the amount.

The post office is a reliable choice because every location carries money orders, and the fee structure is the same nationwide. Grocery stores like Walmart, Kroger, and Safeway sell them at customer service desks. Convenience stores and gas stations often have them too, though not every location does — it's worth calling ahead if you're in a hurry. Check your bank's website first: if you have an account, you may be able to walk in and get one for free or at a reduced rate.

Key Takeaways

  • Banks and credit unions often sell money orders free or cheap if you have an account, while post offices and grocery stores typically charge $1 to $5.
  • The post office is open in most towns and always has money orders in stock, making it a reliable backup option.
  • 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 the exact amount you want to send, because you cannot change a money order once it is issued.
  • Money orders have a maximum amount, usually between $500 and $1,000 per order, so large payments may require multiple orders.

What you need to bring and what it costs

Bring cash or a debit card and know the exact amount you want to send. You will also need the recipient's name — the person or business who will cash the money order. The fee varies by location: banks may charge nothing, the post office charges a flat fee based on the amount (usually under $2 for amounts under $500), and grocery stores and convenience stores typically charge $1 to $3. Some places charge more for larger amounts.

Money orders have a maximum amount per order. The post office caps them at $1,000, while banks and other retailers may have different limits — usually between $500 and $1,000. If you need to send more than the limit, you will have to buy multiple money orders. Ask the cashier what the maximum is before you hand over your cash, so you know whether you need one order or two.

How to fill out a money order at the counter

The cashier will give you a blank money order form. You fill in the recipient's name on the "Pay to the Order of" line — this is the person or business that will cash it. Write your own name and address on the "From" line so the recipient knows who sent it. Some places ask you to sign the back, and some ask you to sign the front. The cashier will tell you where to sign and will handle the amount and date for you.

Do not leave any lines blank. If you are not sure what goes where, ask the cashier — they do this all day and will point you to the right spot. Once the money order is issued, you cannot change the amount, the recipient's name, or any other details, so take your time and double-check everything before you hand over your money.

Finding a location near you

Start with your bank or credit union's website and search for "money order" or "services." If you do not have an account or your bank does not offer them, search "post office near me" on Google Maps — every post office sells money orders. Walmart, Kroger, and other large grocery chains have them at the customer service desk. Call ahead if you are going to a smaller store, because not every location stocks them.

Convenience stores and gas stations often sell money orders, but availability varies by location and franchise. 7-Eleven, Circle K, and Murphy USA locations in many areas carry them, but it is worth a quick phone call to confirm. If you are in a rural area or small town, the post office is usually your most reliable option because it is may provide to have them in stock.

Why you might choose a money order over other payment methods

A money order is useful when the recipient needs proof of payment or when you do not want to give out your bank account number. Unlike a personal check, a money order is may provide by the issuer — the post office or bank — so the recipient knows the money is real. It also leaves a paper trail: you get a receipt with a tracking number, so you can prove you sent it if there is ever a dispute.

Money orders work well for paying rent, sending money to someone you do not know well, or paying a bill by mail when the company does not take credit cards. They are also useful if you do not have a bank account or do not want to use your checking account for a particular payment. The downside is that they cost a small fee and take time to clear — the recipient has to go somewhere to cash it, and it may take a few business days to show up in their account.

What happens after you buy the money order

You will receive a receipt with a tracking number. Keep this receipt until the recipient confirms they have cashed the money order. If the money order is lost or stolen in the mail, you can use the tracking number to file a claim with the issuer and request a replacement. The process usually takes a few weeks, so do not expect when ready results if something goes wrong.

Mail the money order to the recipient or hand it to them in person. If you are mailing it, put it in an envelope with other documents if needed — for example, a rent payment stub or an invoice. The recipient will take it to a bank, post office, or check-cashing store to turn it into cash or deposit it into their account. Most places cash money orders for free or for a small fee.

Money orders versus cashier's checks and wire transfers

A money order costs $1 to $5, works for amounts up to $1,000, and takes a few days to clear. A cashier's check is issued by a bank, costs $5 to $15, works for any amount, and also takes a few days to clear. A wire transfer moves money directly from one bank account to another, costs $15 to $30, and clears in hours or one business day. Choose a money order if you do not have a bank account or want to avoid giving out your account number. Choose a cashier's check if you need to send a large amount and have a bank account. Choose a wire transfer if you need the money to arrive the same day and both you and the recipient have bank accounts.

Money orders are the cheapest option for small amounts under $1,000. If you are sending more than that, a cashier's check may be more practical because you only need one check instead of multiple money orders. If speed is critical, a wire transfer is faster but costs more.

Frequently Asked Questions

Can I buy a money order with a credit card?

Most places do not accept credit cards for money orders — they want cash or a debit card. Some banks may allow credit card purchases if you have an account with them, but this is rare. Call ahead if you only have a credit card available.

What if I make a mistake filling out the money order?

You cannot fix a money order once it is issued. If you make a mistake, ask the cashier if they can void it and issue a new one. Some places will do this for free, and some may charge you a second fee. This is why it is important to double-check everything before you hand over your money.

How long does a money order take to clear?

Money orders typically clear within three to five business days, depending on where the recipient cashes it. If they deposit it at a bank, it may clear faster. If they cash it at a check-cashing store, it may take longer. Ask the recipient to let you know once they have cashed it so you know the payment went through.

Can I track a money order if it gets lost in the mail?

Yes — keep your receipt with the tracking number. If the money order does not arrive, contact the issuer (your bank, the post office, or the store where you bought it) and provide the tracking number. They can file a claim and issue a replacement, though the process usually takes two to four weeks.

Is there a limit to how much I can send with a money order?

Yes — most money orders have a maximum of $500 to $1,000 per order. If you need to send more, you will have to buy multiple money orders. The post office caps them at $1,000, so that is usually the highest single amount you can send in one order.