JPEGLab
JPEGLab is a web application developed as a bachelor's thesis project at the Department of Mathematics of the University of Padua. Its goal is to support the learning of JPEG compression through an interactive interface, designed for university students as well as outreach activities in high schools.
The software enables real-time analysis of the key stages of JPEG encoding: uploading images, separating Y, Cb, and Cr components, visualizing 8x8 blocks and DCT coefficients, inspecting and editing quantization tables, and recompressing the image. The project follows a fully client-side architecture based on the MVC pattern and is built with a modern technology stack: HTML5, CSS3, JavaScript, and WebAssembly, using libjpeg-turbo compiled with Emscripten.
The interface was designed to be clear, responsive, and accessible, with special attention to the educational effectiveness of the implemented features. User testing showed very positive feedback, with an average score of 80.17/100 on the SUS questionnaire, confirming the tool’s usefulness in understanding JPEG compression.
The software enables real-time analysis of the key stages of JPEG encoding: uploading images, separating Y, Cb, and Cr components, visualizing 8x8 blocks and DCT coefficients, inspecting and editing quantization tables, and recompressing the image. The project follows a fully client-side architecture based on the MVC pattern and is built with a modern technology stack: HTML5, CSS3, JavaScript, and WebAssembly, using libjpeg-turbo compiled with Emscripten.
The interface was designed to be clear, responsive, and accessible, with special attention to the educational effectiveness of the implemented features. User testing showed very positive feedback, with an average score of 80.17/100 on the SUS questionnaire, confirming the tool’s usefulness in understanding JPEG compression.