Miasto powstało na obszarze zamieszkanym pierwotnie przez pruskie plemię Sasinów. Akcja kolonizacyjna prowadzona przez zakon krzyżacki rozpoczęła się w połowie XVI wieku. Z inicjatywy komtura ostródzkiego Gunthera von Hohensteina na obszarze dzisiejszego miasta wzniesiono zamek, wokół którego zaczęła się rozwijać osada rzemieślniczo-handlowa. W 1359 roku osada otrzymała prawa miejskie oraz nazwę Hohenstein. Miasto otrzymało 47 łanów na prawie chełmińskim. Wkrótce obok zamku wniesiono kościół. Mieszkańcami ówczesnego Olsztynka był zamożny i wpływowy patrycjat niemiecki; pozostali mieszkańcy byli Polakami z terenu Mazowsza. Począwszy od 1410 roku Olsztynek był jedną z licznych ofiar konfliktu polsko-krzyżackiego. Zniszczeniu uległ zamek, kościół i dwa młyny.
W okresie wojny trzydziestoletniej Olsztynek przyłączył się do antykrzyżackiej koalicji reprezentowanej przez Związek Pruski. Traktat pokojowy z 1466 roku pozostawiał Olsztynek w rękach Zakonu. W czasie ostatniej wojny (1519-1521) miasto okupowały polskie wojska. W 1525 do 1610 roku Olsztynek był siedzibą starostwa. W 1534 roku uruchomiona została szkoła partykularna. Jej absolwenci mogli kontynuować naukę na uniwersytetach. W tym okresie w Olsztynku działał od pewnego czasu szpital utrzymywany z darowizn.
W 1651 roku miejscowość została strawiona przez pożar. Cztery lata później w mieście pojawiły się wojska szwedzkie. Przymusowe kwaterunki, rabunki i kontrybucje doprowadziły do zubożenia mieszkańców. Po najeździe tatarskim w Olsztynku wybuchła epidemia dżumy. Zabiła 300 z ogólnej liczby 800 mieszkańców. Kolejnym ciosem był pożar w 1685 roku. Spłonął kościół, ratusz, praktycznie wszystkie domy należące do mieszczan. Na początku XVIII wieku na miasto powtórnie spadła wielka epidemia dżumy. Olsztynek do 1711 roku utracił połowę mieszkańców. W 1804 roku następny pożar pochłonął plebanię ewangelicką, ratusz,domy, stajnie i spichlerze.
30 grudnia 1806 roku do Olsztynka wkroczyły francuskie oddziały. Wokół miasta obozowało 12 tys. żołnierzy. Rekwizycje, kontrybucje i samowola żołnierzy doprowadziły do klęski głodu.
Olsztynek wszedł w fazę spokojnego, ale widocznego rozwoju w drugiej połowie XIX wieku. Budowa szosy do Ostródy i Nidzicy, uzyskanie połączenia kolejowego, budowa szpitala w widoczny sposób wpłynęły na ożywienie społeczno-gospodarcze miasta.
W czasie II wojny światowej działał tu obóz jeniecki. Oddziały Armii Czerwonej wkroczyły do miasta 22 stycznia 1945 roku. Zostało ono zniszczone w 70%, a nieliczni mieszkańcy, którzy nie opuścili domów, byli skazani na okrucieństwo radzieckich żołnierzy. Pierwsi polscy osadnicy z powiatu mławskiego przybyli do Olsztynka latem 1945 roku. We wrześniu tego roku miejscowość liczyła 854 mieszkańców (w tym 53 Mazurów i 140 Niemców). Po wysiedleniu ludności niemieckiej napłynęła kolejna fala osadników z Wileńszczyzny i Wołynia. W sierpniu 1946 roku Olsztynek liczył 2149 mieszkańców.
Pierwszym powojennym burmistrzem został Teodor Banasiak.