Река Свир изтича от югозападния ъгъл на Онежкото езеро, разположено на 32 m н.в., при селището от градски тип Вознесене в Ленинградска област. Тече в западна и югозападна посока, като денивелацията между извора и устието ѝ е 27 m. Влива се в Свирския залив на Ладожкото езеро, разположено на 5 m н.в., при село Свирица, като образува малка делта, като по този вачин река Свир свързва двете най-големи езера в Европа.[1]
В началото на 18 в. Петър I свързва Свир с река Нева чрез Ладожкия канал покрай брега на езерото, о по-късно реката става част от Волго-Балтийския воден път. Преди изграждането на двата хидровъзела (Верхносвирски и Нижнесвирски) в средното течение на реката е имало прагове и бързеи, които сега са под нивото на двете водохранилища и корабоплаването се извършва безпрепятствено. Освен това двата хидровъзела регулират оттока на реката, който е почти постоянен целогодишно.[1]
Основни притоци: леви – Кузра (31 km), Шаксозерка (31 km), Яндеба (38 km), Янега (33 km), Каномка (22 km), Шамокша (38 km), Шоткуса (60 km), Оят (266 km), Паша (242 km); десни – Важинка (123 km), Мандрога (28 km). Има смесено подхранване с преобладаване на снежното с ясно изразено пролетно пълноводие през месец май. Среден годишен отток 790 m³/s. Заледява се през ноември или декември (понякога през януари), а се размразява през 2-рата половина на април или 1-вата половина на май. Плавателна е по цялото си протежение. По протежението на реката са разположени няколко населени места, в т.ч. градовете Подпорожие и Лодейное поле в Ленинградска област.[1]
Реката тече покрай Александро-Свирския манастир, в който в миналото се е помещавал Свирлаг – един от лагерите на ГУЛАГ с най-мрачна слава. По време на Великата Отечествена война, в периода 1941 – 1944 г. тук се водят тежки сражения. На десния бряг, в долното течение на реката се намира Нижнесвирския природен резерват, създаден през 1980 г.