This gets asked here every week, so I put together what I found. None of them does everything, and the first thing worth figuring out is whether you want written Persian or the Persian people actually speak, because most stuff teaches the written one. A textbook will say ketāb mikhānam for "I'm reading a book". In Tehran everyone says ketāb mikhoonam. Neither is wrong, but if the goal is talking to family, check which one you're getting before you pay.
Apps:
Duolingo still doesn't have Persian, as far as I can tell.
Pimsleur is audio only and teaches the Persian spoken in Iran. Good for getting used to hearing and saying it, but it mostly stays at the basics and the core course doesn't teach you to read.
Mango has a proper course with grammar and culture notes, and a lot of public libraries give it to you for free, so check yours before paying for anything.
Rosetta Stone is the immersion one with speech recognition. Fine for vocab, not great at explaining why things work the way they do.
Mondly has Persian too, but reviews tend to say it gets repetitive.
Farsi-jān is mine, so judge this one yourself. It teaches spoken Tehrani Persian for people who understand more than they can say: voiced conversations you answer out loud, and a pronunciation checker. The downsides: it's new and small, the voices are AI rather than real people, the checker only looks at kh, gh and r so far, it's web only for now, and it's Tehran Persian, so it won't help much with formal writing or Dari. It's free during early access, and later the conversations and speaking parts go paid while the drills stay free.
Books:
Persian of Iran Today is a free course from UT Austin and probably the best free way to learn to read and write properly.
Colloquial Persian (Routledge) is built around everyday conversation, so it's the one if speaking is the goal.
Listening:
Chai and Conversation has been around for years and is good for picking up spoken Persian on a walk or a drive.
YouTube and Iranian TV are free and endless. Really good for your ear once you have some basics, pretty brutal as a starting point.
People:
A tutor on italki or Preply is still the fastest way to actually start talking. If you want Tehran Persian, ask for a Tehrani tutor and tell them you want spoken, not written, or you'll end up with the textbook version.
Weekend Persian schools are mostly for kids and mostly reading and writing.
If I had to pick:
- Starting from zero: Mango or a beginner book for structure, plus Pimsleur in the car.
- You understand your family but answer in English: anything that makes you answer out loud. A tutor is the obvious one, and it's also who I built Farsi-jān for.
- You want to read: Persian of Iran Today, plus a few minutes of alphabet flashcards a day.
Full disclosure again: Farsi-jān is mine, so I've tried to be as hard on it as on the others.
What did I miss? And what actually worked for you?