O nome Zagreb tem origem incerta, mas há algumas hipóteses. Uma delas é que ele vem da palavra eslava "za" que significa "atrás" e "greda" que significa "colina", referindo-se à localização da cidade nas colinas. Outra hipótese é que o nome vem da palavra celta "zagrava" que significa "área atrás do vau", já que a cidade ficava próxima a uma área onde as pessoas atravessavam o rio.