Первый городской герб Кенигсберга был создан в 1360 году. На его геральдическом щите был изображен король Оттокар II Пшемысл, сидящий верхом на коне в рыцарских доспехах.
Альштадт получил свой герб в 1286 г. В серебряном верхнем поле пересеченного щита находилось изображение короны Оттокара II, а в червленом нижнем – вольный серебряный крест. В XVII веке на гербе города появились львы-щитодержатели. В 1300 г. городские права и герб были дарованы Нойштадту. В лазуревом поле герба изображена корона Оттокара II с золотыми шестиконечными звездами (молеттами) сверху и снизу. В XVII в. герб дополнили ангелы-щитодержатели. В 1327 г. герб появился и у города Кнайпхофа: на его верхнее зеленое поле из лазуревых и серебряных волн нижней части поднималася рука, держащая корону из золота с двумя охотничьими золотыми рожками по бокам. С XVII века геральдичексий на гербе появились медведи-щитодержатели.
В 1724 г. города объединились в один - Кенигсберг. Все три старых герба помещались на груди королевского прусского орла с королевской монограммой Фридриха. В 1809 г. появился большой новый герб с девятичастным щитом на мантии, на котором размещались старые гербы городов и окрестных слобод. С 1925 г. стал использоваться вертикально разделенный щит с гербами трех городов.
На гербе Калининграда с 1945 г. на голубом фоне изображалась роза ветров поверх штурвала, а снизу силуэт военного корабля.
На лазоревом поле современного герба размещен петровский серебряный одномачтовый корабль с парусом и вымпелом, андреевским лазоревым крестом. Корабль сопровождают две волны и 12 золотых безонтов. Поверх – герб основателя Кенигсберга, короля Оттокара.