IEnumerable is an interface in the .NET framework that defines a single method, GetEnumerator, which returns an IEnumerator, allowing iteration over a non-generic collection. It is the foundation for all non-generic collections in .NET and enables the use of foreach loops to traverse data structures seamlessly.