https://onlyjpg.com Skip to uploader settings Only JPG The modern, private way to convert any image--PNG, AVIF, HEIC, PDF, SVG, TIFF, TGA & more--into a smaller, universally compatible JPG. Drop any image - get a tiny, standard JPG. 100% private. All processing stays in your browser. Click here to select files or drag & drop. [ ] Download All as ZIP Auto Processing 0/0 files... What OnlyJPG Does OnlyJPG converts many image and document formats into standard JPEGs in your browser. Nothing uploads to a server. You get broadly compatible JPG files that open in almost any app and device. Quality and size controls are built in. We use Google's Jpegli encoder with sensible defaults. You can adjust quality, chroma subsampling, progressive mode, color model (XYB or YCbCr), and choose what metadata to keep. Private by design. Compression and rasterization happen on your device. Usage stats are optional and anonymous. Today's Impact ... Images processed ... Bandwidth saved ... CO2e reduction How We Estimate Carbon Smaller files mean every future download uses less energy. We estimate potential reduction using the Sustainable Web Design model: data-transfer energy x grid carbon intensity. * Energy intensity (SWDM v3): 0.81 kWh per GB transferred. * Global default grid intensity: 442 g CO2e per kWh. This reflects data-transfer only and excludes the one-time CPU cost to compress on your device. --------------------------------------------------------------------- Your Privacy & Our Stats Your images stay on your device. All compression happens locally in your browser. We don't upload or store files. To show impact, we collect anonymous counts (image totals, bandwidth saved). To prevent spam, IPs are used for short-lived rate-limits and are never stored with stats. You're in control. Opt out right here--or use the settings panel (gear above) any time: Allow Anonymous Statistics Estimated Downstream Savings The stats above show direct savings from avoiding uploads and downloads. This panel estimates the additional, collective impact of sharing smaller files. We assume 10% of images are shared and each is downloaded an extra 3 times. Today All-time Bandwidth estimate ... Images considered (today) ... CO2e estimate ... Thanks Everyone! OnlyJPG is built on the shoulders of giants. We're grateful to the open-source community and service providers who make this tool possible. Jpegli The core high-fidelity JPEG encoding library from Google that powers the app's compression engine. Emscripten The compiler toolchain used to compile Jpegli's C++ codebase into high-performance WebAssembly. PDF.js Enables client-side rasterization of PDF files into images for processing. @resvg/resvg-wasm A high-performance WebAssembly port of the resvg library, used for accurately rasterizing SVG images. libheif-js A WebAssembly library that enables the browser to decode HEIC/ HEIF images. geotiff.js A robust library for parsing TIFF files, used as a primary decoder for multi-page TIFF images. UTIF.js A compact and fast JavaScript library for decoding various types of TIFF images, used as a reliable fallback. @jsquash/avif Part of the jSquash project, providing a fast, WebAssembly-based decoder for AVIF images. Three.js The 3D library used to render the interactive globe in our statistics header. Material Web Provides the high-quality, themeable user interface components like sliders, switches, and cards. fflate An extremely fast, lightweight JavaScript library for creating ZIP archives for downloads. ExifReader A JavaScript library used to parse EXIF, ICC, and XMP metadata from source images. es-module-shims A polyfill that provides support for JavaScript import maps in all modern browsers, simplifying module loading. Bun The fast JavaScript runtime powering our anonymous statistics backend. SQLite The embedded database used by our statistics server for fast, reliable data storage. Nginx The high-performance web server that serves our static application and API proxy. Cloudflare Provides the edge cache, proxy, and security services for the application and its stats API. jsDelivr, UNPKG, & esm.sh The trio of CDNs used for resilient, multi-region delivery of our third-party modules and decoders. Google Fonts The service used to deliver the Atkinson Hyperlegible and Roboto typefaces. Solar System Scope Provides the high-resolution Earth textures for the globe visualization, licensed under CC BY 4.0. Live Cloud Maps The source for the cloud and specular map overlays, derived from EUMETSAT data and available under CC0. Terms of Service OnlyJPG is a free tool provided "as-is," without warranties. Always keep backups of your originals. Use it for good. Don't use it for illegal, malicious, or abusive purposes. We aren't liable for issues, data loss, or existential crises arising from its use. Write Us! Because we don't know what we don't know! hello [at] onlyjpg [dot] com Quality Controls the visual quality of the output JPEG. Higher values result in better quality and larger file sizes. Jpegli's perceptual model means that a quality of 90 is often visually identical to the original, but much smaller. warning Chroma Subsampling Reduce color detail (while keeping brightness sharp) to shrink files. This works because human eyes are less sensitive to color shifts than to brightness changes. Learn more / 4:2:0 (Photos) Reduces color resolution by 75% (best general savings for photos). 4:4:4 (Graphics/Text) Preserves full color resolution (prevents color bleed on sharp edges). 4:2:2 Reduces horizontal color resolution only. warning Color Encoding Choose the color model used during compression. The output is always a standard, compatible JPEG. XYB (perceptual) /, from the JPEG XL project, often gives smaller files for the same visual quality. YCbCr (legacy) / matches classic JPEG math for maximum compatibility in strict, older workflows. XYB (Perceptual) -- Recommended Legacy YCbCr warning Progressive Mode Progressive JPEG shows a quick full-image preview that sharpens as it downloads, which feels faster on slow networks. Sequential loads from top to bottom and can decode slightly faster on older devices. Learn more / On (More Scans) Default. More scans can improve perceived loading. On (Normal) Fewer progressive stages. Off (Sequential) Standard top-to-bottom decoding. warning Adaptive Quantization Smarter compression that spends more data (bits) on detailed, complex areas of the image and less on smooth, simple areas. This generally improves visual quality at a given file size. Highly recommended. Enable Adaptive Quantization Transparency & Background JPEG files cannot be transparent. When converting an image with transparent areas (like a PNG or SVG), we'll fill those areas with your chosen background ("matte") color. Learn more / Matte / Background Color [#ffffff ] Grayscale Remove color entirely to greatly reduce size (great for scans, B&W photos, line art). Convert to Grayscale warning Metadata Choose which metadata to keep from the original file. Turning these off saves space and improves privacy. Preserve All Metadata Note: EXIF orientation is always applied to the image pixels to prevent rotation issues, then stripped. Not all source formats (like PDF or SVG) contain all types of metadata. Preserve ICC Profile Keeps color space definitions for accurate rendering. Stripped in Grayscale mode. Preserve EXIF Camera settings, location, etc. Preserve XMP Copyright, keywords, etc. Preserve DPI Retain print density. Download When finished, automatically start a ZIP download. Auto-Download when finished Rasterization Defaults Default settings for converting vector or document formats into pixels (a process called rasterization). DPI (PDF/TIFF/SVG) 150 Higher DPI creates more pixels when rasterizing PDFs/TIFFs/SVGs, resulting in larger pixel dimensions and a larger file. 150 DPI is great for screens; use ~300 DPI for print. What is DPI? / PDF & TIFF (multi-page) Configure how documents with multiple pages, like PDFs and some TIFFs, are converted. First N pages remove add All pages How to export multiple pages: Per-page (recommended) Single long image warning Only applies when "Single long image" is selected. If too large: Smart-slice If too large: Auto-scale DPI Normalize page widths Gap between pages (px) SVG rasterization Control the output pixel dimensions when converting SVG images. Longest side target (px) 2048 Used only when Width and Height are both 0. We scale so the longer side matches this value. Non-zero Width/Height override "Longest side". If one is 0, we compute it using the SVG's aspect ratio. Privacy Contribute anonymous usage statistics to help improve the service. No images or personal data are ever sent. Allow Anonymous Statistics Reset If you get lost, reset back to safe defaults. Reset All Settings to Defaults close