Šilperk vznikl pravděpodobně jako osada v podhradí hradu Šilperka, který v dobách krále Přemysla Otakara II. dal zbudovat člen markraběcí družiny Protiven ze Zábřeha. Prvním historickým dokladem o Šilperku je Protivenovo privilegium z roku 1278 a dá se považovat za zakládací listinu městečka. Prvním známým správcem hradu byl loupeživý rytíř Ješek ze Šilperka. Krátce po roce 1308 mu byl hrad odňat a odevzdán Šternberkům, tento rod měl město ve svém majetku podle záznamů v zemských deskách do roku 1480. Šternberkové dali roku 1334 městu svůj znak – osmicípou zlatou hvězdu v modrém poli s drobnými osmicípými zlatými hvězdičkami. Od roku 1576 spravovali Štíty Žalkovští.
Do dnešní doby se dochovaly náhrobní kameny pánů Žalkovských ve zdi místní fary. Po Bílé hoře byly Štíty v držení Lichtenštejnů. Lichtenštejnové začlenili dosud samostatný štítecký statek do velkého celku rudského panství, jehož součástí pak zůstaly až do konce feudálního období, do roku 1848. Pod lichtenštejnskou správou byly Štíty několikrát zničeny – Švédy, morem, cholerou a požáry. Po zrušení roboty r. 1848 měly Štíty ráz zemědělské vesnice, v níž žili vedle sebe čeští i němečtí obyvatelé. Od roku 1850 byly Štíty sídlem okresního soudu a berního úřadu a s ním až do roku 1938 součástí politického okresu zábřežského.
V době před druhou světovou válkou vládly v Evropě díky vzrůstajícímu německému fašismu neurovnané politické a společenské poměry. Nejinak tomu bylo také v Šilperku. Od počátku roku 1938 se politické napětí v Šilperku úměrně k celým Sudetám zvyšovalo. Všeobecné stěhování českých rodin ze Štítů nastalo po mnichovské zradě, ve městě zůstalo jen pár původních starousedlíků. České školy byly zrušeny, učilo se jen německy. Krátce po půlnoci z 8. na 9. května 1945 se po silnici od Horních Studének a od Písařova přiblížila vojenská auta osvobozovacích jednotek ruské armády a v prázdných ulicích a na šilperském náměstí přivítali osvoboditele čeští obyvatelé městečka. Vyučování v obecné a měšťanské škole bylo zahájeno 17. května 1945. Začaly se nově budovat české Štíty. V poválečné době byly založeny mnohé české spolky a organizace. Vznikaly nové pracovní příležitosti v závodech Čemolen", "Družspoj", "Dřevotvar" a "Jesan". 5.7.1949 byl Šilperk po krátké době, kdy německý název byl nahrazen českým ŽALKOV, přejmenován na ŠTÍTY. Byla v tom určitá logika, protože jméno Šilperk, volně přeloženo, znamená "štítová hora".
V roce 1970 bydlelo ve Štítech 1050 obyvatel. Do roku 1973 počet obyvatel vzrostl na 1250 osob. V roce 1976 byly ke Štítům připojeny dvě vesnice - Crhov a Heroltice, později také Březná, Horní Studénky a Zborov. Horní Studénky a Zborov jsou v současné době od Štítů opět odloučené. 17. listopad 1989 se stal mezníkem v nedávné historii našeho státu. Jím začala tzv. "sametová revoluce". 8. a 9. července 1990 se konaly po dlouhé době první svobodné demokratické volby, ve kterých zvítězilo ve státě i ve Štítech Občanské fórum. 24. listopadu téhož roku následovaly komunální volby do zastupitelských orgánů v obcích. Do obecního zastupitelstva ve Štítech bylo zvoleno 8 zástupců OF, 5 zástupců ČSL a 3 členové KSČ. V devadesátých letech bylo zrekonstruováno zdravotní středisko, zřízena nová lékárna, vznikaly nové firmy a soukromé prodejny. Vybudovala se čistička odpadních vod a plynofikace. Štítecké náměstí se stalo v roce 1993 památkovou zónou. V tomtéž roce byly obnoveny pověstné štítecké jarmarky, kterým patří každoročně poslední květnová sobota.
1. července 1994 byl Štítům navrácen titul "MĚSTO". O tři roky později byl vyhlášen v povodí řeky Březné, která městem protéká, přírodní park Březná. V červnu 2002 se ve Štítech otevřel sportovní areál Acrobat Park, který vybudoval olympijský vítěz (2002) v akrobatickém lyžování Aleš Valenta společně s městem Štíty.