Wg jednych - wypłuwa z jeziora Osa, skąd bierze nazwę. Wg innych - z jeziora Parkun. Jestem skłonna zgodzić się z tą drugą opinią. W swym dolnym odcinku stanowi granicę pomiędzy leżącą na lewym brzegu Ziemią Chełmińską, a znajdującą się na jej prawym brzegu Pomezanią. Jako leśny strumyk płynie na południe przez jeziora Osa, Gardzień i Szymborskie oraz przepływa w pobliżu południowej ściany zamku w Szymbarku. Dalej przyjmuje kierunek południowo-zachodni, przepływa przez małe jezioro Popówko i wpada do jeziora Trupel. Wypływa z niego w południowym jego końcu i na odcinku od Biskupca do Babalic jest dublowana przez równoległą strugę, Młynówkę. Od Babalic połączone wody obu cieków pod nazwą Osa dopływają do wsi Sumin, gdzie na odcinku 3 km stanowią granicę między województwem warmińsko-mazurskim i kujawsko-pomorskim, po czym wpadają do jeziora Płowęż leżącym na granicy powiatów brodnickiego i grudziądzkiego. Osa od jeziora Płowęż płynie ku zachodowi w głębokiej dolinie, silnie meandrując. Za Mędrzycami przyjmuje z lewej strony Lutrynę, dalej pokonuje 14 km odcinek przez rezerwat Dolina Osy i wkrótce z prawej strony wpływa do niej Gardeja. W Kłódce wody Osy rozdziela na dwie części jaz. Część południowa jako Kanał Trynka przepływa przez jezioro Tarpno, a stąd płynie do Grudziądza, gdzie kończy swój bieg w Wiśle niedaleko Wodnej Bramy. Część północna, jako właściwa Osa, zmierza na północny-zachód i w Zakurzenie wpada do Wisły u stóp Gór Łosiowych. Ma ok. 100km długości.