The porcupine ray is widely distributed, but uncommon compared to other stingrays that share its range. It is found all along the continental periphery of the Indian Ocean, from South Africa to the Arabian Peninsula to Southeast Asia to Ningaloo Reef off western Australia, including Madagascar, the Seychelles, and Sri Lanka; it has colonized the eastern Mediterranean Sea through the Suez Canal. In the Pacific Ocean, its range continues through Indonesia and New Guinea, north to the Philippines, east to the Gilbert Islands and Fiji, and south to Heron Island off eastern Australia. This species is also found in the eastern Atlantic Ocean off Senegal, Guinea, and Côte d'Ivoire. Bottom-dwelling in nature, the porcupine ray is found close to shore at depths of . It inhabits sandy flats, coral rubble, and seagrass beds, often near reefs, and also enters brackish water.