Длина реки 64 км, площадь водосборного бассейна — 6850 км²[1].
Свидь вытекает из северной части озера Воже, течёт на всем своём протяжении на север по ненаселённой и малонаселённой местности. Ширина реки от 40 до 120 метров.
В верхнем течении река течёт в болотистых, лесных берегах, в среднем течении река пересекает каменистую гряду, образуя небольшие порожки. На этом участке в реке большое количество валунов, русло сужается до 10-15 метров, течение ускоряется, берега высокие, местами обрывистые. На нижнем участке реки течение ослабевает, берега вновь становятся низкими и болотистыми. Свидь впадает в южную часть озера Лача двумя рукавами.
Река ранее была судоходна от д. Горка, конечного пункта пассажирской линии «Каргополь — Горка» (103 км). На данном участке выставлялась судоходная обстановка, состоящая из кромочных вех. Устье реки было обозначено знаками-ориентирами. В XIX веке была попытка шлюзования реки. Выше д. Горка у порога был построен шлюз.
На Свиди имеется один мост, ранее находившийся на железнодорожной линии Ерцево - Совза. Железная дорога разобрана.