We present the UltraSound ToolBox (USTB), a processing framework for ultrasound signals. USTB aims to facilitate the comparison of imaging techniques and the dissemination of research results. It fills the void of tools for algorithm sharing and verification, and enables a solid assessment of the correctness and relevance of new approaches. It also aims to boost research productivity by cutting down implementation time and code maintenance. USTB is a MATLAB toolbox for processing 2D and 3D ultrasound data, supporting both MATLAB and C++ implementations. Channel data from any origin, simulated and experimental, and using any kind of sequence, e.g. synthetic transmit aperture imaging (STAI) or coherent plane-wave compounding (CPWC), can be processed with USTB. Here we describe some of the elements of USTB such as: the ultrasound file format, the concept of the general beamformer, and the signal processing pipeline. We also show a minimal code example, and demonstrate that USTB can be used with the most used transmit sequences: STAI, CPWC, diverging wave imaging (DWI), focused imaging (FI), and retrospective transmit beamforming (RTB).