Lossless data compression is a class of data compression algorithms that allows the original data to be perfectly constructed. By contrast, lossy data compression permits reconstruction only of an approximation of the original data, though this usually improves compression rates and also reduces file sizes.