There are many exchanges that supports Fiat to Crypto exchange. You can buy Bitcoins at exchanges like Coinbase, CEX.IO, Coinmama, Simplex, Indacoin, sendwyre, Localbitcoins (peer to peer), Coinswitch etc.
If we are buying on a peer to peer service then security matters a lot. Many users got scammed on Localbitcoins due to peer to peer interaction. There are many scam reports about Localbitcoin on various Platforms. You can check the scam reports on
Reddit,
Trustpilot,
Coincrunch etc.
Along with security, there are other factors which we need to check when buying at the exchanges. We need to check the Limits, Fees, Transaction time, Supported Countries and Reputation.
Limits: You need to check the limits on exchanges for buying Bitcoins. How much you can buy? If you want to buy large amount of Bitcoins does the exchange supports that much?
Fees: How much is the fees charged by the exchange for buying? Some exchange charge high fees and some charges less fees. Choose the exchange which will charge minimal fees.
Transaction time: It is important to check how fast you will receive your coins. Check the transaction time provided on the exchange.
Supported Countries: Few exchanges will have limitations for buying in some locations. Check if that exchange allow to buy from your location.
Reputation: Before buying on any exchange check the reviews, is it legit? Research about that exchange before buying on any exchange.
In my opinion, the exchanges which have all these features are: Coinbase, Simplex, Coinswitch. I have personally used Coinswitch. It provides lower transaction fees, it is supported world wide in most of the countries and the transaction speed is also fast.