RIOT (Radical Image Optimization Tool) is a free image optimizer for Windows, macOS, and Linux. It reduces image file sizes through compression, format selection, resizing, and colour controls, with a preview for inspecting the result before saving. Images are processed on the computer, so photographs and graphics do not need to be uploaded to an online service.
Encoding
RIOT can choose compression settings for each image through its HQ, Standard, Eco, and Lossless automatic presets. It examines colour use, texture, whether the picture resembles a photograph or a drawing, and how heavily the source was already compressed. That analysis determines choices such as lossless or lossy encoding, quality, chroma subsampling, and palette size. A batch containing both photographs and screenshots can therefore receive settings based on each file's contents.
Manual mode exposes the encoding controls directly. JPEG offers quality and chroma controls with progressive encoding; PNG has a slower maximum-compression option; WebP supports lossless, near-lossless, and lossy compression with an effort setting. These controls let the user adjust the balance between the image's appearance and its encoded size, then inspect the changed preview.
RIOT opens JPEG, PNG, WebP, GIF, TIFF, HEIC, and AVIF, and exports JPEG, PNG, WebP, and GIF. The Optimal format option tries another container and keeps the source when it is already smaller. Original keeps a supported source format. This distinguishes reducing a file within its existing format from converting it to another output type.
Compression preview
Double-clicking a file opens a divided comparison of the original and optimized images. The preview uses the current encoding settings, so changing the format or quality produces a result that can be examined before writing the batch. Dragging the divider reveals corresponding areas on either side, while a hold-to-swap control reverses the views for a quick comparison.
Pan and zoom controls allow closer inspection of details such as edges and textured areas. Beyond actual size, RIOT displays the image's real pixels rather than smoothing them, making compression artifacts easier to examine. An information view also places the attributes of the original and optimized files alongside one another.
Pixel controls
Resizing changes image dimensions by a pixel value or a percentage. An aspect lock preserves the relationship between width and height, and the resampling filter controls how the resized pixels are calculated. This allows the dimensions and compression to be set as part of the same optimization job.
For PNG, WebP, and GIF in manual mode, palette quantization reduces the image to a selected number of colours. RIOT provides palette size, dithering, and effort controls. Dithering helps represent intermediate shades with the available colours, while the colour limit determines how much variation the palette can retain.
Metadata
RIOT lets the user keep or strip EXIF, XMP, IPTC, ICC profiles, and other image metadata. These choices determine whether camera information, descriptive records, and colour profiles travel with the optimized file. Metadata handling is separate from the image's compression settings, allowing information to be retained even when the picture is re-encoded.
Transparency
Transparent areas can remain transparent, be blended onto a chosen background colour, or be made opaque. Blending sets the background into the output image, whereas preserving transparency leaves those areas available for the background on which the image is displayed. RIOT includes these controls in the optimization job alongside the selected output format.
Animation
Animated GIF, WebP, and AVIF files can retain their frames during optimization, or be flattened to their first frame when a still image is wanted. RIOT can also keep or remove duplicate GIF frames. The comparison view plays both versions using their own frame delays, allowing the animation itself to be inspected along with the individual images.
Batch files
RIOT accepts individual files and whole folders. When a dropped folder contains subfolders, it asks whether to include them; separate folder commands also distinguish one directory from a recursive collection. Opening images through the file manager sends them into RIOT, with a single file opening in the comparison view and multiple files entering the batch list.
Batch optimization runs a worker for each CPU core and processes files in parallel. A live progress display can be cancelled, and the completion summary reports processed files, elapsed time, bytes saved, skipped items, and warnings. The Last Used preset restores the encoding and handling settings from the previous job, while the destination folder is remembered separately.
File handling determines what happens when a destination already exists: skip the item, create a unique name, or replace the existing file. Unique names are the default, and overwriting a file with a different extension requires a separate option. RIOT also offers backups and preservation of original timestamps. An automatic result that grows the file is flagged, and the original is left alone unless replacement is enabled; deletion of originals occurs only after a different optimized file has actually been written.






