Исток Западной Двины был окончательно обнаружен лишь в 1970-х годах. Западная Двина берет начало в болотах около небольшого озера Корякино, Андреапольского района Тверской области на Валдайской возвышенности, через несколько километров после истока впадает в озеро Охват, затем течёт сначала на юго-запад, но после Витебска поворачивает на северо-запад. Западная Двина впадает в Рижский залив Балтийского моря, образуя дельту.
Длина реки Западная Двина — 1020 км: 325 км приходится на Российскую Федерацию, 328 — на Белоруссию и 367 — на Латвию
Площадь бассейна Западной Двины — 87,9 тыс. км².
Средний расход воды 678 м³/с. Концентрация ряда загрязняющих веществ превышает 10 ПДК.
Ширина реки Западная Двина за озером Охват 15-20 метров, берега лесистые, русло каменистое, с отдельными перекатами и небольшими порожками.
На участке Андреаполь — Западная Двина ширина реки увеличивается до 50 метров, а за городом Западная Двина, преодолев ещё один порожистый участок, река принимает крупные притоки — Велесу, Торопу и Межу, после чего расширяется до 100 метров.
За устьем Межи — большая запань, предназначенная для сбора леса, сплавляемого по Меже. Ниже запани река течёт в высоких берегах, покрытых смешанным лесом. Лес исчезает перед г. Велиж. За Велижем река судоходна.
56.3484, 31.8913