旌德之地,春秋战国时期先后隶属吴、越、楚国。秦属鄣郡,汉隶泾县。三国时为孙吴所辖,属丹阳郡安吴县(县治在今泾县境内)。晋太康二年(281)属宣城郡。隋开皇九年(589)安吴县并入泾县。
唐武德三年(620)设宣州总管府,再建安吴县,旌德地属之,县治在今三溪古城村。武德八年安吴县再归泾县。天宝十一载(752)析泾县西南14乡置太平县,旌德地遂属太平县。宝应二年(763)二月,析太平县东北境麻城等九乡之地置旌德县,仍属宣州所辖。县名“旌德”,取东晋权臣桓温“旌德礼贤,教化之首先”句首二字,寄意旌表其民,以彰其德。宋旌德县属江南路、江南东路宣州,乾道二年(1166)属江南东路宁国府。
元至元十四年(1277)旌德县 属江浙行省江东建康道宁国路。明洪武元年(1368)旌德县属南京直隶宁国府,十三年(1380)属京师直隶宁国府。永乐元年(1403)属南京直隶宁国府。清顺治二年(1645),旌德县属江南布政使司宁国府,十八年(1661)属江南左布政使司宁国府,康熙六年(1667)属安徽布政使司宁国府。
民国元年(1912)元月,废府留县,旌德县直属安徽省管辖。
民国3年6月属安徽省芜湖道。
民国21年6月,行首席县长制,旌德县属宣城首席县长所辖。同年10月成立行政督察区,旌德县属安徽省第九行政督察区。
民国27年改属第十行政督察区。同年10 月,旌德县直属皖南区署,民国29年8月改属第七行政督察区。
1949年4月24日,旌德县城解放。同年5月13日旌德县划属皖南行署徽州专区。
1952年8月7日皖南行署撤销,旌德县属安徽省徽州专区。
1956年1月12日,随徽州专区并入芜湖专区。
1959年1月,旌德、绩溪二县合并办公,3月22日,国务院第86次会议决定将旌德并入绩溪县。
1961年4月1日,旌、绩二县分开办公, 12月15日国务院第114次会议决定复置旌德县。同年4月13日,徽、芜两专区分开,旌德县仍属徽州专区。
1971年3月29日改专区为地区。
1988年1月1日,旌德县划属宣城地区(2001年1月1日撤地区为宣城市)。