This document compares the performance of three lossless data compression algorithms (Huffman, Shannon-Fano, and LZW) on text data files of various types and sizes. Ten text files ranging from 5KB to 528KB were used as a test bed. The algorithms were implemented in Java and evaluated based on compression ratio, compression/decompression time, and file size savings. Results showed that LZW generally provided better compression ratios and file size reductions than the other two algorithms, though it took longer for compression. Shannon-Fano compression times were generally faster than Huffman's. The best algorithm to use depends on the file type and priorities around compression speed versus ratio.