Город расположен в 133 км от Екатеринбурга, в 28 км от районного центра Нижние Серги и в 10 км от ж.д станции Михайловский Завод направления Чусовская-Дружинино-Бердяуш,с которой связан ж-д веткой производственного назначения. Находится на правом берегу реки Уфа.