碓氷峠
1200万年ほど前には現在の碓氷峠は海中にあり、クジラやサメなどが生息していた。700万年前 - 200万年前には碓氷川上流地域で噴火活動があり、110万年前 - 65万年前の溶岩噴出で碓氷峠付近は平地となった。その後、30万年前 - 20万年前に霧積川によって東部で侵食があり、急な崖が形成された。以上のような経緯から、地層は下部が第三紀中期の海生堆積岩類、上部が後期中新世から前期更新世の火山岩類で構成されている。下部の堆積岩層は泥岩、砂岩、凝灰岩などで侵食されやすい。また、上部の火山岩層の厚みは数百メートルに達する。
東部が激しく侵食された結果、現在の碓氷峠は直線距離で約 10キロメートル (km) の間に標高差が500m以上に達する急峻な東側のみの片勾配となっていて、群馬県側の麓・横川の標高387mに対し、長野県側の軽井沢は標高939mと峠 (956m) との標高差がほとんどない。特に、中仙道を例に取ると坂本宿から刎石山までの水平距離700mの間に標高差が300mもある。
鉄道においても碓氷峠を越えることは早くから重要視され、1885年(明治18年)10月15日に官設鉄道横川線として高崎駅 - 横川駅間が、さらに1886年(明治19年)8月15日から1888年(明治21年)12月1日にかけて軽井沢駅 - 直江津駅間が官設鉄道直江津線として順次開通すると、当区間が輸送のボトルネックとなり、東京と新潟の間の鉄道を全線開通させることが強く望まれた。なお、1888年(明治21年)9月5日から1893年(明治26年)4月1日にかけては碓氷馬車鉄道という馬車鉄道が国道18号上に敷設されていたが、輸送可能な量が少ない上に峠越えに2時間半もかかっていた。当初の機関車の能力では粘着式鉄道にて通過困難な勾配があり、スイッチバックやループ線などを設ける方法では対処できなかったためラック式鉄道を模索し、視察したドイツのハルツ山鉄道を参考にしてアプト式(アブト式)を用いることを提案した仙石貢と吉川三次郎のプランが採用された。この案では中山道沿いに線路を敷設するため資材や人員の運搬コストを低減できる一方で、最大で66.7 ‰(= 1⁄15。