Oraşul Gabrovo este situat în nordul Bulgariei, de-a lungul raului Yantra, în partea de nord a muntelui Sredna Stara Planina, la o altitudine de 392 m. Gabrovo este la 220 km nord-est departare de Sofia. În imediata apropriere a oraşului Gabrovo se află centrul geografic al Bulgariei. Din cauza poziţiei pe care o are şoselele lui sunt foarte aglomerate.