I have a set of images of up to 20mb each, and I want to reduce the file size without losing quality.
How can I do it?
Reducing the size is possible if your 20mb images are in an uncompressed format (RAW, BMP etc.). If you need to maintain quality you will need to use a so-called lossy-less compressor such as TIFF with LZW, PNG etc. JPEG will remove information and therefor also quality.
If you mean reducing the pixel size of an image it will always remove information, hence also remove quality. So this is not possible. You can apply techniques such as sharpening convolution to make it appear as if it is the same quality, but technically it will not be.
In either case you can create a batch script in Photoshop to do this for you. There are plenty of resources and tutorials on the net for this, so I won't write a new one. But have a look at for example this one:
Additionally, if you need this for storage purposes (I didn't get that impression, but this can serve as a tip), look into the open-source (and free) 7-zip compressor. This can compress any file type, but will also compress none-JPEG image files a little more as well as allowing you to use encryption on the resulting archive. Ideal for transporting in the cloud.
Simply put, you can't.
Imagine you have a dumpster full of tennis balls. You want to take all those tennis balls and put them into a 50 gallon barrel. They simply won't all fit. This holds true for pixels in images. In order for the image to fit into a smaller container, you're going to have to discard some pixels (information).
Now you may be able to reduce the container size with an acceptable amount of loss. For example, if you have a 20MB image in .tiff format. You may be able to save that image as a jpg set to 12 quality and find the resulting jpg, while much smaller, appears very much the same as the tiff.
In general, saving an image as a jpg with the highest quality setting will dramatically reduce the files size. While using the jpg format will in fact throw away image data, at the highest quality setting that data is often an aceptable loss.
Just be aware you can only do this once. Never, ever, save a jpg image as a jpg again. You immediately start drastically degrading any image when you do so.
In reality there's not a whole lof of information provided in your question - current format, image uses, types of images, are you editing the images, source of the images..... The actual question mentions 'resolution' but your post only refers to 'size'.
If the images are in JPEG or PNG format, then you can use lossless image optimizers such as
Those tools re-compress images and spend extra CPU time to apply heavier compression. With 20MB files this could take several minutes per file though.