Przebieg lewo|mały|Źródło Odry thumb|left|Odra w Policach i jej ujście do Roztoki Odrzańskiej (Zalew Szczeciński). Odra ma źródło na południowo-wschodnim zboczu wzgórza Fidlův kopec w Górach Odrzańskich na wysokości 634 m n.p.m. w pobliżu miejscowości Kozlov. Płynie przez Bramę Morawską, poniżej przez Śląsk. W górnym biegu pomiędzy Boguminem a ujściem Olzy na krótkim odcinku jest rzeką graniczną między Polską a Czechami, a w dolnym – od ujścia Nysy Łużyckiej (w km 542,4) stanowi granicę między Polską i Niemcami przez 161,7 km długości swojego biegu.
Na Pomorzu Zachodnim, powyżej Gryfina we wsi Widuchowa, w 704,1 km biegu, Odra rozdziela się na dwa nurty: Odrę Wschodnią (która przechodzi w Regalicę do jeziora Dąbie) i Odrę Zachodnią. Odra Wschodnia rozdziela swe wody pomiędzy Regalicę i Skośnicę, gdzie Skośnica łączy się z Odrą Zachodnią i tworzy główny nurt Odry. Odra płynie przez centralne osiedla Szczecina i omija od zachodu jezioro Dąbie, jednakże jej wody rozdzielają się pomiędzy kanały portowe Duńczycę i Parnicę oraz rzekę Świętą. Dalej w Szczecinie – Odra łącząc się z wodami Przekopu Mieleńskiego płynie na północ przy wyspie Dębina. Następnie od lewego brzegu przy wyspie Żurawi Ostrów rozdziela się Kanał Skolwiński. Dalej odbiera część wód z jeziora Dąbie poprzez kanał Babina.