Najwcześniejsze zapisy nazwy Gniezna pojawiły się na denarze Bolesława Chrobrego (ok. 1000): Gnezdvn; czeski kronikarz Kosmas żyjący na przełomie XI i XII wieku podaje po łacinie – Gnezden, tę nazwę w formie Gnezden spotykamy również w spisanej po łacinie Bulli Gnieźnieńskiej z roku 1136, Gnezdna – zapis taki pojawia się w dokumentach np. w 1238. Świadczy to o podstawie toponimicznej „Gnezd-”. W roku 1154 arabski geograf Al-Idrisi w swoim dziele pt. Księga Rogera zamieścił nazwę Gniezna jako „G(i)nazna” pośród innych polskich miast: Krakowa, Wrocławia, Sieradza, Łęczycy oraz Santoka.

Część uczonych sceptycznych wobec przekazów kronikarzy wysuwa przypuszczenia, że nazwa Gniezno pochodzi od nazwy jeziora. Dzisiejsze jeziora Jelonek, Świętokrzyskie i Winiary stanowią najprawdopodobniej relikty oblewającego tysiąc lat temu gród gnieźnieński wielkiego jeziora Gniezno, od którego pochodzi nazwa miasta. O istnieniu jeziora Gniezno świadczy chociażby mapa wykonana w 1887 roku, a także dostrzegalne obecnie obniżenie terenu w pobliżu seminarium i kościoła św. Krzyża.