台北市位于台湾岛北端,台湾岛北部的台北盆地,四周均与新北市接壤,被新北市环绕,西界淡水河及其支流新店溪,东至南港附近,南至木栅以南丘陵区,北包大屯山东南麓。东西宽处20.5公里,南北长约28公里。经度东经121.6度,纬度北纬24.9度。
台北市中心区域位于台北盆地底部,大屯火山群(休眠火山)位于市区北边与台北县接壤处,整个山系于市区内大致向南延伸并趋缓,直抵圆山、大直与内湖等地,是台北市境内最大的山系。最高的七星山为1120米,次高的大屯山为1092米,山系中心地带与北投侧的外缘地带有不少火山地形。市区东边的内湖、南港与南边的木栅多为丘陵地形。标高约300多米的南港山系(拇指山系)则横亘于信义、南港两区之间。
台北市境内的河流属于淡水河流域。淡水河主河道以及自淡水河分出的新店溪流经台北市大同区(大龙峒、大稻埕)、万华、公馆、景美等地的市区边界(淡水河主河道往西南续接大汉溪)。
基隆河于关渡一带自淡水河分出,流经社子、士林、大直、内湖、松山、南港后出台北市境续流经新北市汐止、基隆市暖暖等地。过去因河道极为弯曲,每遇大雨常有水患,因此士林段、内湖段和一小段南港段的河道皆进行过截弯取直工程。景美溪于景美一带自新店溪分出,流经景美、木栅至台北县深坑。双溪于士林、北投交界一带自基隆河分出,磺溪再由双溪分出,双溪流经芝山岩、外双溪等地,磺溪则流经石牌、天母等地,上溯大屯山系的纱帽山、大屯山。
台北市位于北纬25度线附近,北回归线以北,又因为是在海岛上,地处东亚大陆与太平洋之间,受干冷的蒙古高压与暖湿的太平洋高压交互影响,形成了亚热带季风气候。由于海洋的调节,其气温比同纬度大陆地区高2~5℃,尤其在秋冬季节,此特点尤为突出。
从纬度来看,台北位于北回归线以北,属于亚热带季风气候。但从各月平均气温来看,却酷似热带季风气候,表现在:长夏无冬,只有热季与凉季之分:通常4~11月为热季、12~次年3月为凉季。有时受到全球暖化或特殊的气候变化影响,凉季期间也会出现忽暖忽冷的现象(如2005年2~3月蒙古高压带来的强烈冷气团,使得台北的温度少见地降至摄氏5.6度,邻近台北的淡水更出现摄氏3.9度的低温)。
由于台北位于东亚季风带内,因此气候也受东北季风影响。也因为有东北季风的影响,才不致使淡水河有因水量不足而断流的问题。另外还有一个特殊的气候特征:因为市区主要位于台北盆地中,气候也深受盆地地形影响。夏季由于盆地周围的高山而不易使热气排出,使得市内的气温通常较周围的地区高出摄氏1~2度。进入冬季后,市区周围的山地与丘陵地较容易形成地形雨。每年5月前后,由于蒙古高压与太平洋高压交会形成锋面,使得台湾进入梅雨季节,此时台北的降雨天数也会增加。夏季也经常会因为上升气流旺盛,形成午后雷阵雨。