우리나라의 관제로는 경인선이 개통되기 전인 1894년 갑오개혁 때 공무아문(工務衙門)내에 철도국을 둔 것이 최초의 철도행정기관이라 할 수 있다.
그 뒤 1906년 7월 일본의 통감부 철도관리국이 설치되고, 1909년에는 통감부 철도청으로 개편되었으며, 같은 해 12월에는 철도원으로 개칭되었다가 국권상실 후에는 총독부로 이관되어 8·15광복 때까지 철도관리국이 철도업무를 담당하였다.
광복 후에는 미군정청의 운수부에서 철도업무를 담당하다가, 1948년 대한민국정부수립과 함께 교통부소관으로 되었으나 1963년 9월 독립채산제를 채택하고 특별회계로 운용되는 철도청이 교통부의 외청으로 독립되었다.
과거 철도청에는 차관급 정무직의 청장 밑에 1급 별정직의 차장 1인을 두고 그 밑에 기획관리관·영업국·시설국·차량본부·전기국·재무관리국·총무과 및 사업개발본부를 두었으며, 청장직속으로 공보담당관·감사담당관이 있었다.
또한, 철도청은 능률을 증대시키기 위하여 소관사무를 분장하여 중앙보급사무소·설계사무소·심사사무소·사무소·특별동차사무소·철도박물관 등을 운영하였다. 그 밖의 철도공무원교육원·철도차량정비본부·철도건설본부 등이 있었다.
철도청장의 소관사무를 분장하기 위하여 서울·대전·부산·순천·영주 등 5개의 지방철도청을 두었으며, 서울·대전·부산에 3개의 차량정비본부를 두었다. 현업기관으로는 각 지방철도청장 아래 역·간이역·조차장 및 사무소를 두었다. 철도청은 1998년 8월에 정부기관대전이전계획에 따라 서울에서 대전으로 옮겼다.
2005년 1월 철도청이 공기업화 되면서 한국철도공사로 새롭게 출범하였다. 이후 2007년 5월 한국철도공사가 코레일(KORAIL)로 명칭을 변경하였다. 코레일의 조직은 사장, 부사장 아래에 6개 본부(기획조정본부·기술본부·경영관리본부·여객사업본부·사업개발본부·차량사업본부), 5개 단(수송안전단·고속사업단·광역물류사업단·시설사업단·전기사업단)으로 구성되어 있다. 본사는 대전광역시 동구 중앙로 240에 있다.