Le Sornin est une rivière très abondante, comme tous les cours d'eau issus de la partie occidentale des monts du Beaujolais. Son débit a été observé sur une période de 18 ans (1970-1987), à Charlieu, localité du département de la Loire située à une quinzaine de kilomètres au nord-nord-est de Roanne, peu avant son confluent avec la Loire2. Le bassin versant de la rivière y est de 457 km2 soit la quasi-totalité de ce dernier.
Le module de la rivière à Charlieu est de 7,44 <abbr class=abbr title="mètre puissance 3/s">m3/s.
Le Sornin, rivière de moyenne montagne, présente des fluctuations saisonnières de débit très marquées, comme bien souvent dans l'est de la France, avec des hautes eaux d'hiver et de printemps portant le débit mensuel moyen à un niveau situé entre 9,2 et 14,3 <abbr class=abbr title="mètre puissance 3/s">m3/s, de décembre à mai inclus (avec un maximum en février), et des basses eaux d'été, de juillet à septembre, avec une baisse du débit moyen mensuel jusqu'à 1,44 <abbr class=abbr title="mètre puissance 3/s">m3/s au mois d'août. Mais les fluctuations sont bien plus prononcées sur de courtes périodes, et aussi d'après les années.
À l'étiage, le VCN3 peut chuter jusque 0,075 <abbr class=abbr title="mètre puissance 3/s">m3/s, en cas de période quinquennale sèche, soit 75 litres par seconde, ce qui est très sévère pour une rivière de cette importance, mais assez normal dans les régions nord-est du massif central.
Les crues peuvent être très importantes. Les QIX 2 et QIX 5 valent respectivement 130 et 200 <abbr class=abbr title="mètre puissance 3/s">m3/s. Le QIX 10 est de 250 <abbr class=abbr title="mètre puissance 3/s">m3/s, le QIX 20 de 300 <abbr class=abbr title="mètre puissance 3/s">m3/s, tandis que le QIX 50 n'a pas été calculé, faute de durée d'observation suffisante.