Natural riverine and floodplain ecosystems are adapted to highly variable hydrologic regimes, which include periodic droughts, infrequent large floods, and relatively frequent periods of inundation. To more effectively manage water resources and maintain ecosystem services provided by rivers and their floodplains requires that we understand seasonal and inter-annual hydrologic variability. We present here a Matlab program called Flood Regime Characterization (FRC), which has been developed to aid researchers and water managers in characterizing historical streamflow variability by developing a set of flood types and water year types. The foundation of the program is based on the concept that a flood regime is made up of four components: magnitude, duration, timing, and frequency. The flood types are created by separating out similar flood events based on their magnitude (i.e., peak flow), duration and indirectly, their timing. Once the flood types are identified, the frequency of each type is calculated for the entire record. Water year types are then separated from each other by divisive clustering, wherein similar water years are clustered together based on the number of days each flood type occurs during each water year. Users are presented with the calculated frequency of each water year type throughout the record.