Where to buy a money order
You can buy a money order at a bank, credit union, post office, or grocery store. Not every location sells them, so call ahead or check online before you go. Banks and credit unions usually charge $1 to $10 per money order. Grocery stores and convenience stores often charge less — sometimes 50 cents to $3. The post office charges a flat rate that varies by the amount you're sending.
The easiest option depends on where you already do business. If you have a checking account at a bank, start there — tellers know the process and can answer questions on the spot. If you don't have a bank account, a grocery store or post office is usually faster and doesn't require membership.
Key Takeaways
- You can buy a money order at a bank, post office, grocery store, or convenience store, and fees range from 50 cents to $10 depending on the location.
- Bring cash or a debit card, the amount you want to send, and the recipient's name spelled correctly — you cannot change it after purchase.
- Fill in the payee name, your name and address, and the amount in the designated boxes, and keep your receipt until the money order is cashed.
- Money orders typically arrive within three to five business days if mailed, or when ready if handed to the recipient in person.
- Most places have a maximum amount per money order, usually between $500 and $1,000, so you may need to buy multiple for larger sums.
What to bring and how much it costs
Bring cash or a debit card. Some locations accept checks, but cash is fastest. You'll also need to know the exact amount you want to send — the teller or cashier will write this on the money order, and you cannot change it afterward. Have the recipient's full name ready, spelled exactly as you want it to appear.
Fees vary widely. A bank or credit union typically charges $1 to $10. The U.S. Postal Service charges between $1.45 and $2.00 depending on the amount. Walmart and other grocery stores often charge $0.50 to $1.50. Call ahead if you're unsure — the fee is usually posted near the customer service desk or on the website.
How to fill out a money order
The teller or cashier will hand you a blank money order form. It has several boxes to fill in. Write the recipient's name on the line marked "Pay to the Order of" — this is the person or business that will cash it. Write your own name and address on the line marked "From" or "Purchaser." Some forms ask for your phone number or account number as well.
Write the dollar amount in two places: once in the box with the dollar sign (in numbers) and once on the line that says "Dollars" (in words). For example, if you're sending $50, write "50.00" in the box and "Fifty and 00/100" on the line. The teller will usually fill in the date and a tracking number. Do not sign the money order yet — the recipient signs it when they cash it.
Keep your receipt. It shows the tracking number and amount, and you'll need it if the money order is lost or never cashed. Some receipts are attached to the money order itself; others are separate slips you take home.
How to send a money order by mail
Put the money order in an envelope with a letter explaining what it's for. Write the recipient's address on the envelope and add postage. Use First-Class Mail or Priority Mail — do not send it as a regular letter. First-Class Mail typically takes three to five business days. Priority Mail is faster but costs more.
Consider sending it with tracking or signature confirmation if the amount is large. This costs extra but gives you proof of delivery. You can purchase these services at the post office when you mail the envelope, or online through USPS.com if you're using Priority Mail.
Never send cash by mail — a money order is safer because it can only be cashed by the person whose name is on it. If it's lost, you can contact the issuer with your receipt and tracking number to request a replacement or refund.
Limits on how much you can send
Most money order issuers have a maximum amount per order. Banks and credit unions typically allow up to $1,000. The post office allows up to $1,000. Walmart and grocery stores usually cap at $500 to $1,000. If you need to send more than the limit, you can 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 tracking number and receipt. The recipient will need to cash or deposit each one separately.
What happens after you buy it
If you're handing the money order to someone in person, they can cash it when ready at their bank or a check-cashing service. If you're mailing it, it will arrive in three to five business days with First-Class Mail, or one to three days with Priority Mail.
The recipient takes the money order to their bank, credit union, or check-cashing service and signs the back. The teller will verify the signature and the amount, then give them cash or deposit it into their account. Some banks deposit money orders the same day; others take one business day.
Keep your receipt until you know the money order has been cashed. If the recipient says they never received it, you can use the tracking number to check its status with the issuer. If it's truly lost, you can request a replacement or refund, though this process takes several weeks.
When a money order makes sense
Use a money order when you need to send money to someone you don't know well or who doesn't have a bank account. It's safer than cash because the recipient's name is printed on it — only they can cash it. It's also safer than a personal check because the funds are may provide; the issuer has already taken the money from you.
Money orders work well for rent payments, security deposits, utility bills, or payments to small businesses that don't take cards. They're also useful if you don't have a checking account and need a traceable payment method. However, if you have a bank account, a check or bank transfer is usually cheaper and faster.
Frequently Asked Questions
Can I get a money order without a bank account?
Yes. You can buy a money order at the post office, a grocery store, or a convenience store with just cash. You don't need to be a customer or have any account. Bring the amount you want to send plus the fee, and the recipient's name.
What if I make a mistake filling out the money order?
Most places will not let you correct it — you'll have to buy a new one and the first one will be voided. This is why it's important to double-check the recipient's name and amount before you hand over your cash. Ask the teller to review it with you before they finalize the transaction.
How do I know if a money order was cashed?
Call the issuer with your receipt and tracking number. The post office, bank, or store can tell you whether it's been cashed and when. You can also ask the recipient directly if they've received and cashed it.
Is a money order the same as a cashier's check?
No. A cashier's check is issued by a bank and is larger — usually $1,000 or more. A money order is smaller and can be bought at many locations. Both are may provide funds, but a cashier's check is more formal and takes longer to cash.
What if the money order is lost in the mail?
Contact the issuer with your receipt and tracking number. They can tell you if it's been cashed. If it hasn't, you can request a replacement or refund, though this usually takes two to four weeks. This is why keeping your receipt is important.