- This webapp uses Huffman Coding for Text Compression and De-compression.
- Made with
JavaScript
,HTML5
andCSS3
. - Live Demo: samirpaulb.github.io/txt-compressor
- Repository: github.com/SamirPaulb/txt-compressor
About this application:
- An online text(.txt) file compressor, decompressor which uses Huffman Algorithm to encode/compress files by 35% and decode them back to the original size.
- This tool assigns a variable-length code to the characters of the uploaded file based on the frequency of occurrence. Then converts characters to that special code which takes less size than the original ASCII codes. Huffman code forms a binary tree assigning the most frequent characters with the smallest codes and longer codes for the least frequent characters.
- A Huffman code is a tree, built bottom up, starting with the list of different characters appearing in a text and their frequency.
- With this lossless data compression method, this tool can compress the file size by 35 to 40%.
- As file size gets reduced and original characters get changed to special characters so this encoding also improves security by encrypting the file during file sharing.
- With the decoding feature, the user can decode the encoded file and get back the original file of the previous size.
- I have used JavaScript to implement the algorithms so that browser can compile the code and HTML, CSS to make the website responsive.
- Additional instructions and warnings are provided if steps are not followed correctly.
- An Info page is added to give more information about tecnique of Lossless Data Compression with Huffman coding.
Video Demo:
- Landing Page:
- Upload File
- Select Action (Compress / De-compress)
Wait for File Download
File gets downloaded automatically when selected process is complete.
Compression - Compression Ratio is also displayed
- De-compression
Additional Instructions and Warnings are provided if the above steps are not followed correctly
- About the tecnique of Lossless Data Compression with Huffman coding.