Abstract A graph is k-extendable if every independent set of size k is contained in a maximum independent set. This generalizes the concept of a B-graph (i.e. 1-extendable graph) introduced by Berge and the concept of a well-covered graph (i.e. k-extendable for every integer k) introduced by Plummer. For various graph families we present some characterizations of well-covered and k-extendable graphs. We show that in order to determine whether a graph is well-covered it is sometimes sufficient to verify that it is k-extendable for small values of k. For many classes of graphs, this leads to efficient algorithms for recognizing well-covered graphs.