东北端，市区北侧是日本海（），东侧是濑户内海（）。北九州市的海岸线颇为复杂，全长约226公里。海岸线全长中只有约20公里是自然海岸，其他部分都是人工海岸。北九州市隔关门海崃和本州的下关市相望，两市距离最近处是早鞆濑户，距离只有约650米。北九州市辖区由企救半岛和组成，九州本岛和若松本岛之间有洞海湾相隔。若户大桥横跨洞海湾，是连接若松和户畑两地的重要交通手段。北九州市辖区中部（户畑区南部、八幡东区）多是丘陵地，企救半岛（门司区）的中嵴部分和市辖区南部则是山区地形，被指定为北九州国定公园。自福冈县北部至山口县西