因薊運河而得名。此河自薊縣以下稱薊運河。薊運河舊稱漕運河。因此河自北塘上達薊縣,故名。薊,指多年生草本植物,因該地多產薊草而得名。一說因古薊國而得名。另一說“取古薊門關以名”。
薊縣古稱漁陽,春秋時期屬無終國,戰國時稱無終邑,秦代置無終縣,屬右北平郡(一說漁陽郡)。隋大業末年置漁陽縣,唐開元十八年(730年)設薊州。元復稱漁陽縣。明、清為薊州。1913年改為薊縣。新中國成立后,屬河北省轄縣,歸通縣專區,1958年屬唐山專區,1961年屬天津專區。1973年9月劃歸天津市。
1996年,薊縣面積1470平方千米,人口約77.1萬人,轄11鎮30鄉(其中滿族鄉1個), 縣政府駐城關鎮。1999年,薊縣轄12個鎮、28個鄉、1個民族鄉:城關鎮、官莊鎮、下營鎮、邦均鎮、洇溜鎮、馬伸橋鎮、別山鎮、翠屏山鎮、上倉鎮、下倉鎮、東塔莊鎮、尤古莊鎮、穿芳峪鄉、禮明莊鄉、東施古鄉、五百戶鄉、羅莊子鄉、侯家營鄉、西塔莊鄉、洪水莊鄉、白澗鄉、東二營鄉、李莊子鄉、許家臺鄉、官場鄉、蒙鄉、小港鄉、楊津莊鄉、劉家頂鄉、出頭嶺鄉、大上鄉、三岔口鄉、桑梓鄉、逯莊了鄉、下窩頭鄉、九百戶鄉、白塔子鄉、宋家營鄉、東趙各莊鄉、西龍虎峪鄉、孫各莊滿族鄉。
2000年第五次人口普查,薊縣總人口800763人,其中:城關鎮102571人,洇溜鎮24318人,官莊鎮33258人,馬伸橋鎮23516人,下營鎮16410人,邦均鎮19223人,別山鎮30251人,翠屏山鎮19341人,尤古莊鎮18989人,上倉鎮20702人,東塔莊鎮16749人,下倉鎮32152人,逯莊子鄉17350人,宋家營鄉13583人,穿芳峪鄉15822人,孫各莊滿族鄉7072人,洪水莊鄉4593人,小港鄉3577人,羅莊子鄉8634人,李莊子鄉14125人,東二營鄉18049人,白澗鄉20256人,許家臺鄉10333人,劉家頂鄉17227人,禮明莊鄉24195人,九百戶鄉7413人,五百戶鄉16332人,侯家營鄉23202人,桑梓鄉22188人,三岔口鄉14358人,西塔莊鄉7831人,東趙各莊鄉21357人,東施古鄉16441人,白塔子鄉10193人,下窩頭鄉18277人,大上鄉19841人,蒙鄉14759人,楊津莊鄉17320人,出頭嶺鄉10012人,官場鄉24699人,西龍虎峪鄉24244人。
2001年鄉鎮區劃調整后,薊縣轄20個鎮、5個鄉、1個民族鄉:城關鎮、官莊鎮、邦均鎮、下營鎮、別山鎮、洇溜鎮、馬伸橋鎮、上倉鎮、下倉鎮、尤古莊鎮、東施古鎮、五百戶鎮、侯家營鎮、白澗鎮、楊津莊鎮、出頭領鎮、下窩頭鎮、桑梓鎮、西龍虎峪鎮、羅莊子鎮,孫各莊滿族鄉、穿芳峪鄉、禮明莊鄉、東二營鄉、許家臺鄉、東趙各莊鄉。
2004年初,薊縣轄1個街道、20個鎮、5個鄉、1民族鄉:文昌街道,城關鎮、下營鎮、羅莊子鎮、馬伸橋鎮、出頭嶺鎮、西龍虎峪鎮、五百戶鎮、官莊鎮、白澗鎮、邦均鎮、洇溜鎮、別山鎮、桑梓鎮、尤古莊鎮、侯家營鎮、東施古鎮、上倉鎮、下窩頭鎮、楊津莊鎮、下倉鎮,穿芳峪鄉、許家臺鄉、禮明莊鄉、東趙各莊鄉、東二營鄉,孫各莊滿族鄉。 (949個行政村、15個居委會,此統計時間不詳)