Viby Å er en omkring 11 km lang å der løber på Vestfyn i Middelfart Kommune. Den springer ud ved nordvestenden af Ejby, og løber først mod nord, og svinger så mod vest, gennem Nørre Aaby, og slynger sig forbi Viby, og løber gennem Gamborg Nor, ud i Gamborg Fjord og Lillebælt. Åen har tidligere været stærkt forurenet, især af spildevand fra Nørre Aaby, men i 1970 etableredes det første mekanisk-biologiske rensninganlæg ved Gl. Viby mellem Nørre Aaby og Viby, hvilket gradvis forbedrede vandkvaliteten i Viby Å. I årene 2007 til 2013 gennemførtes et naturgenopretningsprojekt omkring Gamborg Nor og de omkringliggende arealer og en med blandt andet genslyngning af en strækning på ca. 900 meter af den nedre del af Viby Å, sydvest for Viby.  Der er en fin bestand af havørreder i Viby Å.