We develop direct inversion methods for inferring the rheology of a fluid from observations of its shallow flow. First, the evolution equation for the free-surface flow of an inertia-less current with general constitutive law is derived. The relationship between the volume flux of fluid and the basal stress,
$\tau _b$
, is encapsulated by a single function
$F(\tau _b)$
, which depends only on the constitutive law. The inversion method consists of (i) determining the flux and basal stress from the free-surface evolution, (ii) comparing the flux with the basal stress to constrain
$F$
and (iii) inferring the constitutive law from
$F$
. Examples are presented for both steady and transient free-surface flows demonstrating that a wide range of constitutive laws can be directly obtained. For flows in which the free-surface velocity is known, we derive a different method, which circumvents the need to calculate the flux.