能代市は、秋田県北西部に位置し、東は北秋田市・上小阿仁村、西は日本海、南は三種町、北は八峰町・藤里町に接しています。また県都秋田市には60キロメートル〜80キロメートルの圏内にあります。
東北地方を縦断する奥羽山脈に源を発する1級河川米代川が市域の中央を東西に流れ日本海に注ぎます。下流部には能代平野が広がり、その両側は、広大な台地が広がり大部分が農地として活用されています。また東南部は、房住山を主体になだらかな丘陵地となっています。西部は、日本海に沿って南北に砂丘が連なり、湖沼が点在しています。