WaveSorter emphasizes dynamic visualization and versatility. Slider controls let the user select any coefficient or sample from any of several transforms, which can then be plotted to either axis of a 2D histogram (scatterplot). Within the waveform space, cursor-based controls let the user select subregions of the waveform space or individual waveforms to view. The user may cluster waveforms manually or via one of several popular clustering programs. The classification along with waveform properties can be saved to disk in simple text files. WaveSorter is written in C++, utilizes the GNU Scientific Library for all computation, and is highly parallelized. On modern hardware it can handle files containing several 100,000s of waveforms per channel with almost no noticeable loss in GUI fluidity and <1sec lags for files with >1,000,000 waveforms per channel. It can be run in batch mode. It supports a wide array of binary file formats as well as ASCII text.