Silicon microelectrodes are a powerful technique for recording neuronal population activity. Increases in probe size and density make for larger recordable populations, but also require new techniques for processing the resulting data. The authors describe a suite of practical, open source software for spike sorting of large, dense electrode arrays. Developments in microfabrication technology have enabled the production of neural electrode arrays with hundreds of closely spaced recording sites, and electrodes with thousands of sites are under development. These probes in principle allow the simultaneous recording of very large numbers of neurons. However, use of this technology requires the development of techniques for decoding the spike times of the recorded neurons from the raw data captured from the probes. Here we present a set of tools to solve this problem, implemented in a suite of practical, user-friendly, open-source software. We validate these methods on data from the cortex, hippocampus and thalamus of rat, mouse, macaque and marmoset, demonstrating error rates as low as 5%.