자연상태에서 내리는 강수는 대기 중의 이산화탄소가 녹아서 생성된 탄산을 포함하고 있다. 따라서 강수의 pH(potential of hydrogen:용액 속의 수소 이온 농도를 나타내는 지수)는 약 5.6이다. 그러나 대기 중에 황산화물이나 질소산화물이 포함되어 있으면 이것들도 물에 녹아서 산을 만든다. 이는 강수의 산성도를 높이고 pH값을 낮추어서 산성비가 된다.
산성비는 산업화로 석탄과 석유 등을 대량으로 이용함에 따라 발생하게 되었다. 석탄과 석유에는 상당한 양의 황(黃, 비금속 원소의 하나)이 포함되어 있고, 이것이 연소(燃燒)하면 이산화황이 된다. 이산화황은 공기 중에서 산소와 반응하고 물에 녹으면서 아황산과 황산이 되고, 이것이 강수와 함께 지상으로 떨어진다. 질소산화물은 산소나 물과 반응하여 질산이 되어 지상으로 떨어진다.
이산화황이나 질소산화물과 같은 기체는 바람과 함께 멀리 퍼질 수 있기 때문에, 산성비는 국경을 넘어갈 수 있다. 지상에서 산성비는 토양을 산성화해서 생태계에 손상을 입힐 뿐만 아니라, 건축물 등도 훼손한다. 토양이 산성화되면 토양의 자연적인 구성이 훼손된다. 산에 잘 녹는 물질들은 적어지고 잘 녹지 않는 무거운 금속 이온들이 많아진다. 산성비는 또한 하천과 호수 생태계도 훼손한다. 산성비로 인해 산성도가 크게 높아진 호수는 맑지만, 생명체는 거의 없는 죽은 곳으로 변한다.
1980년대부터 석탄이나 석유 등이 연소될 때 나오는 가스로부터 황을 제거하는 탈황시설이 도입되어 산성비 발생이 줄어들기 시작했다. 자동차의 연료로는 황 함유량이 적은 것이 도입되었고, 배기가스로부터 질소를 제거하는 촉매장치도 부착되었다. 질소산화물은 일정한 온도 이상에서 연료가 연소될 때 공기 중의 질소가 산소와 반응해서 생성되기 때문에 질소산화물을 제거하는 일은 쉽지 않다.
산성비는 생태계와 건축물에 많은 손상을 입혔지만, 탈황시설과 자동차 촉매장치의 도입 등을 통해서 산성비의 발생이 줄어들었고, 지금도 이러한 노력은 계속되고 있다.