Расположена в северо-западной части области в 49 км к северо-востоку от Демидова, в 39 км северо-восточнее автодороги Р133 Смоленск — Невель, на берегу реки Ельша. В 99 км южнее посёлка расположена железнодорожная станция Смоленск на линии Москва — Минск.