jpeg-js - A pure javascript JPEG encoder and decoder for node.js

  •        121

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.



Related Projects

Embedded JPEG Codec Library

  •    C

An open source JPEG codec library optimized for embedded system, including both encoder and decoder. Compact, optimized for specific hardware, easy to be ported to various embedded OS, ESL tools like Handel-C, multi-processor systems and FPGA.

jpg-glitch - glitch images with jpg encoding

  •    Javascript

this is an experiment for the web browser. it corrupts jpg images so that they appear "glitched". this experiment is very much based on the smack my glitch up js script.

Brunsli - Lossless JPEG repacking library

  •    C++

Brunsli is a lossless JPEG repacking library. Brunsli allows for a 22% decrease in file size while allowing the original JPEG to be recovered byte-by-byte. Brunsli has been specified as the lossless JPEG transport layer in the Committee Draft of JPEG XL Image Coding System and is ready to power faster and more economical transfer and storage of photographs.

Mozjpeg - Improved JPEG encoder

  •    C

MozJPEG reduces file sizes of JPEG images while retaining quality and compatibility with the vast majority of the world's deployed decoders.MozJPEG is based on libjpeg-turbo. It's compatible with libjpeg API and ABI, and can be used as a drop-in replacement for libjpeg. MozJPEG makes tradeoffs that are intended to benefit Web use cases and focuses solely on improving encoding, so it's best used as part of a Web encoding workflow.

CharLS, a JPEG-LS library

  •    C++

An optimized implementation of the JPEG-LS standard for lossless and near-lossless image compression. JPEG-LS is a low-complexity standard that matches JPEG 2000 compression ratios. In terms of speed, CharLS outperforms open source and commercial JPEG LS implementations.

knusperli - A deblocking JPEG decoder

  •    C++

The goal of Knusperli is to reduce blocking artifacts in decoded JPEG images, by interpreting quantized DCT coefficients in the image data as an interval, rather than a fixed value, and choosing the value from that interval that minimizes discontinuities at block boundaries. Left: a traditional JPEG decoder (Imagemagick 6.9.7-4). Right: Knusperli.

libjpeg-turbo - Main libjpeg-turbo repository

  •    C

libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg, all else being equal. On other types of systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by virtue of its highly-optimized Huffman coding routines. In many cases, the performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs.libjpeg-turbo implements both the traditional libjpeg API as well as the less powerful but more straightforward TurboJPEG API. libjpeg-turbo also features colorspace extensions that allow it to compress from/decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java interface.

adept-jpg-compressor - A Bash script to automate adaptive JPEG compression using common CLI tools

  •    Shell

When compressing JPEG images, the same compression level is used on the entire image. However, most JPEG images contain homogeneous and heterogeneous areas, which are varyingly well-suited for compression. Compressing heterogeneous areas in JPEGs to reduce filesize causes compression artefacts due to the lossy nature of JPEG compression. This script adaptively alters the compression level for areas within JPEGs (per-block) to achieve optimized file size while maintaining a decent visual quality. This script achieves a significantly reduced file size compared to standard tools such as cjpeg while maintaining good visual quality, as can be measured via SSIM. This is good news for the Web Performance and thus Web Developer community to achieve a great user experience on websites.

node-exif - A node.js library to extract Exif metadata from images.

  •    Javascript

With node-exif you can extract Exif metadata from images (JPEG). Exif is a format used, for example, by digital cameras and scanners to save additional information about an image in the image file. This information can be the camera model, resolution, where the image was taken (GPS) or when it was taken. Rodrigo Espinosa proposes the npm package exif-cli to execute node-exif from a shell.

iOS-WebP - Google's WebP image format decoder and encoder for iOS

  •    Objective-C

Google's WebP image format offers better compression compared to PNG or JPEG, allowing apps to send/retrieve images with smaller file sizes, reducing request times and hopefully provide a better user experience. #Usage Don't forget to #import <iOS-WebP/UIImage+WebP.h>. There are 3 methods in iOS-WebP, converting images to WebP format, converting images from WebP format, and setting an image's transparency.

guetzli - Perceptual JPEG encoder

  •    C++

Guetzli is a JPEG encoder that aims for excellent compression density at high visual quality. Guetzli-generated images are typically 20-30% smaller than images of equivalent quality generated by libjpeg. Guetzli generates only sequential (nonprogressive) JPEGs due to faster decompression speeds they offer.There's also a Bazel build configuration provided. If you have Bazel installed, you can also compile Guetzli by running bazel build -c opt //:guetzli.

grunt-contrib-imagemin - Minify PNG and JPEG images.

  •    Javascript

Select optimization level between 0 and 7. The optimization level 0 enables a set of optimization operations that require minimal effort. There will be no changes to image attributes like bit depth or color type, and no recompression of existing IDAT datastreams. The optimization level 1 enables a single IDAT compression trial. The trial chosen is what OptiPNG thinks it’s probably the most effective. The optimization levels 2 and higher enable multiple IDAT compression trials; the higher the level, the more trials.

JPNG - JPNG is a bespoke image file format that combines the compression benefits of JPEG with the alpha channel support of a PNG file

  •    Objective-C

In iOS and Mac OS apps there is typically a choice of two image formats: PNG format allows transparency but produces large image files and is unsuited to compressing images like photographs; JPEG is great for creating small files and provides a range of compression qualities to suit the subject matter, but doesn't allow for transparency. JPNG is a new image format that combines the best of both of the other formats. JPNG is not really a format in its own right, it's a simple file wrapper that combines a JPEG and PNG image within the same file. JPEG is used to efficiently compress the RGB portion of the image and PNG is used to store the alpha channel.

IJG - Independent JPEG Group

  •    C

IJG is an informal group that writes and distributes a widely used free library for JPEG image compression. JPEG is designed for compressing either full-color or gray-scale images of natural, real-world scenes.


  •    C++

ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.

gulp-imagemin - Minify PNG, JPEG, GIF and SVG images

  •    Javascript

Issues with the output should be reported on the imagemin issue tracker.🦄 Support my open-source work by buying this awesome video course: Learn to build apps and APIs with Node.js by Wes Bos Try his free JavaScript 30 course for a taste of what to expect & check out his ES6, React, Sublime courses.

Fast Image (JPG) Resizer for Java

  •    Java

The quot;Fast Image Resizer for Java Toolquot; has following features: resize all JPEG/JPG images of a directory, generate web galleries, store resized images in a ZIP file, add text or image watermark. The Tool is available in German and English.


  •    Javascript

utf8.js is a well-tested UTF-8 encoder/decoder written in JavaScript. Unlike many other JavaScript solutions, it is designed to be a proper UTF-8 encoder/decoder: it can encode/decode any scalar Unicode code point values, as per the Encoding Standard. Here’s an online demo.A string representing the semantic version number.

svgexport - SVG to PNG/JPEG command-line tool and Node.js module

  •    Javascript

svgexport is a Node.js module and command-line tool for exporting SVG files to PNG and JPEG, it uses PhantomJS for rendering SVG files. datafile can be an object, an array of objects or a JSON file path, see command line usage for its format.

kdenlive - Powerful multi-track video editor

  •    C++

Kdenlive is a video editor, which supports DV, AVCHD (experimental support) and HDV editing. Kdenlive relies on several other open source projects, such as FFmpeg and MLT video framework. It is designed to answer all needs, from basic video editing to semi-professionnal work. Kdenlive can read, edit and export Flash video. Kdenlive supports most audio formats for reading, mixing and exporting. It also offers experimental support for non-destructive audio and video codec.