Extendible hashing allows a hash table to dynamically expand by using an extendible index table. The index table directs lookups to buckets, each holding a fixed number of items. When a bucket fills, it splits into two buckets and the index expands accordingly. This allows the hash table size to increase indefinitely with added items while avoiding rehashing and maintaining fast access through the adjustable index.