島式ホーム3面6線を有する地上駅[1]。横浜線乗り場のみ南側に離れている。橋上駅舎を持ち、北側の北口駅ビルにつながっているほか、南側にも自由通路の跨線橋が伸び、南口駅ビルとつながっている。
直営駅であり、八王子統括センターの拠点駅。みどりの窓口および指定席券売機、VIEW ALTTEが設置されている。また八王子統括センターとして、中央線の西八王子駅 - 藤野駅間の各駅、八高線の北八王子駅、小宮駅と横浜線の片倉駅、八王子みなみ野駅、相原駅を管理している。
駅敷地内にはJR東日本八王子支社がある。駅構内にはかつてJR貨物八王子総合鉄道部(旧・八王子機関区)があり、後に新鶴見機関区八王子派出に組織変更されたが、2008年には新鶴見機関区甲府派出と統合され、廃止された。機関区時代の名残りで多数の側線や機関車留置線が存在していたが、それらは2011年12月までにほぼ撤去されている。
八王子総合鉄道部には、八高線が開業した1931年3月に完成し、かつて高尾駅以西の中央線山岳地帯に向かうために平坦線区の機関車と山登りの機関車を頻繁に付け替えていたことの名残りである転車台が残されていたが、こちらも2013年2月に解体され消滅した[新聞 2]。また、駅構内東側、中央本線に沿った場所には保線基地がある。 番線路線方向行先
のりば
1■八高線・川越線下り拝島・高麗川・高崎・川越方面