จังหวัดนครพนมมีเนื้อที่ประมาณ 5,512.7 ตารางกิโลเมตร หรือประมาณ 3,445,414.32 ไร่ คิดเป็นร้อยละ 3 ของพื้นที่ภาคตะวันออกเฉียงเหนือ ซึ่งมีลักษณะภูมิประเทศเป็นที่ราบสูง สูงกว่าระดับน้ำทะเลประมาณ 140 เมตร ห่างจากกรุงเทพฯ ประมาณ 740 กิโลเมตร
จังหวัดนครพนมเป็นจังหวัดชายแดน ตั้งอยู่ในภาคตะวันออกเฉียงเหนือ (ตอนบน) ของประเทศไทย มีลักษณะเป็นแนวยาวตามฝั่งแม่น้ำโขงประมาณ 153 กิโลเมตร ตั้งอยู่ระหว่างละติจูดที่ 16-18 องศาเหนือ และลองติจูดที่ 104-105 องศาตะวันออก มีอาณาเขตติดต่อดังนี้
• ทิศเหนือ ติดอำเภอเซกา จังหวัดหนองคาย
• ทิศตะวันออก ติดแขวงคำม่วน สาธารณรัฐประชาธิปไตยประชาชนลาว โดยมีแม่น้ำโขงเป็นแนวกั้นพรมแดน
• ทิศใต ติดอำเภอดงหลวง และอำเภอหว้าใหญ่ จังหวัดมุกดาหาร
• ทิศตะวันตก ติดอำเภอกุสุมาลย์ อำเภออากาศอำนวย และอำเภอเมืองสกลนคร จังหวัดสกลนคร