Уй починається на висоті 130 м над рівнем моря у Васюганських болотах в центральній частині Західно-Сибірської рівнини на крайньому північному заході Новосибірської області. Від витоку тече на південь, але після села Орловка повертає на захід, потрапляючи до Омської області. Звідси річка до самого злиття з Іртишем тече майже точно на захід, подекуди лише трохи відхиляючись до півночі. Уй впадає в Іртиш біля села Максима Горького, за 25 км нижче по течії від міста Тара (53 м над рівнем моря).
Гідрологія
Довжина річки 387 км, площа басейну 26 700 км². Середньорічний стік, виміряний за 48 км від гирла, біля села Баженово, становить 19,8 м³/с; мінімум спостерігається у лютому (6 м³/с), максимум — після розтавання снігів у травні (78 м³/с). Уй замерзає наприкінці жовтня — початку листопада, скресає у квітні — на початку травня. Повінь триває з квітня до червня.
У гирлі Уй має 50 м завширшки і глибину понад 2 м; швидкість плину 0,4 м/с.
Річка тече по території Киштовського району Новосибірської області і Седельніковського та Тарського районів Омської області. Хоча значних міст на річці немає, її долина густо населена; по обом берегам річки та її притокам існує багато невеликих сіл. Найбільше з них, Седельніково, розташоване у середній течії і має населення близько 5000 осіб. Інші населені пункти на річці: Велика Черемшанка, Орловка (Новосибірська область), Рогозино, Кейзес, Улара, Баженово (Омська область) та інші.
Більшість населених пунктів в басейні Уя з’єднані дорогами місцевого значення. В багатьох місцях річку перетинають автомобільні мости.