Ipoh là ở bang Perak, mà là ở phần phía bắc của bán đảo Malaysia. Thành phố này là ở giữa thung lũng Kinta, trên bờ của sông Kinta và hợp lưu của con sông nhỏ, Sungai Pinji và Sungai Pari. Thành phố được bao quanh bởi những ngọn đồi đá vôi, có thể được tìm thấy xung quanh vùng ngoại ô phía đông bắc, phía đông và đông nam. Các dãy núi Kledang trải dài từ phía bắc đến phía tây của thành phố. Phạm vi này chạy song song với dãy núi Bintang với sông Perak chảy trên bờ trái của nó và sông Kinta bên phải của nó. Phạm vi này bị gián đoạn ở phía bắc của Ipoh bởi một nhánh của sông Perak gọi là sông Pelus, trong đó có nguồn gốc từ dãy núi Titiwangsa, chạy về phía đông của Ipoh.