The blast happened at an indoor range in the Uskudar area, on the Asian side of the city, police said.
A Turkish news agency reported that the accident was caused after a stray bullet hit a power transformer.
Video footage from the Dogan news agency showed victims lying in the streets, some with their clothes torn off.
The injured, many of whom were suffering from severe burns, were admitted to local hospitals.
There are reports that those injured were guards from a local bank taking part in firearms training, but this could not be comfirmed.