3 answers
There's no single "best" one because it really depends on your body type, age, how much time you have available, and what kind of situation you want to be prepared for. But in practice, martial arts that combine takedown and control techniques (like judo or jiu-jitsu) tend to work well for self-defense because you can neutralize someone without needing brute strength, and they build a lot of confidence. Muay Thai is also effective because it trains you to maintain distance and use your whole body, but it requires more training time to become something automatic in a real situation.
I'd go with Muay Thai because it builds really solid cardiovascular conditioning and you learn to use your whole body - legs, elbows, knees - in real situations. Most of the classes I know about also teach you how to escape holds and deal with actual strikes, not just katas. The thing is, you need to train consistently to get comfortable with it, because when things get real your body's going to do what you trained it to do, and if you trained wrong... well, it's not gonna help much. It's worth talking to the instructor about your specific self-defense goals before you decide.
Personal defense is really different from what you see in competition, and there's a detail that gets overlooked in most discussions: you need to train with someone who actually understands street situations, not just ring fighting. I've seen a lot of people spending money on fancy classes where the instructor has never dealt with real danger. The martial art itself matters less than having automatic reflexes and knowing when running away is the best option.
What actually works is something you can stick with for a long time and that develops awareness of your surroundings. Brazilian Jiu-Jitsu is good because most fights end up on the ground, but it also requires a lot of training time to get efficient. Boxing trains your defensive reflex and dodging in a really practical way. Muay Thai, as mentioned, has the advantage of teaching you distance, footwork, and using different parts of your body - but it requires good physical conditioning so you don't get tired too quick in a real situation.
My suggestion: pick something that has a class near your place (consistency is everything) and where the teacher actually works through realistic scenarios - like someone coming at you aggressively, you having little space, situations where you're off-balance. Don't fall for the "art X is the best" talk and then just train pretty forms. The best one is the one you're actually going to train for real.
Your answer
Log into answer.