Alzo (en euskera y oficialmente Altzo) es un pequeño municipio de la provincia de Guipúzcoa (País Vasco, España). Cuenta con una extensión de 9,77 km²; y una población de 400 habitantes (2008). Se sitúa en la parte oriental de Guipúzcoa, dentro de la comarca de Tolosaldea. Alzo se encuentra a caballo del valle del Oria y el del Araxes, poco antes de su confluencia. Le separan 32 km de la capital provincial, San Sebastián y 6 km de la capital comarcal, Tolosa.
Alzo tiene la particularidad de ser un municipio binuclear. Está compuesto por dos barrios conocidos como Alzo Abajo (en vasco Altzo Azpi) y Alzo Arriba (en vasco Altzo Muño, literalmente Alzo Colina). Estos dos barrios antiguamente fueron independientes y aún hoy en día constituyen dos núcleos de población bien definidos.
Alzo Abajo es el núcleo más antiguo, pero también el más pequeño y menos poblado. Se encuentra prácticamente en el Valle del Oria, en el barranco que forma la desembocadura de un arroyo. La población tiene una estructura lineal a lo largo del valle y de la carretera que sube hacia Alzo Arriba.
Alzo Arriba se encuentra en una zona elevada de pendientes suaves, semi-escondida entre los montes que separan el Valle del Oria y el del Araxes. Presenta un aspecto disperso. Aquí se concentra la mayor parte de la población y se encuentra el ayuntamiento.