By default, WordPress compresses your images for better performance.
Every time you upload a JPEG image in WordPress, it would automatically compress the image to 90% quality.
All you need to do is paste the following code in your custom plugin's functions.php
add_filter('jpeg_quality', function($arg){return 100;});
When you do make these image quality changes, you want to make sure that you regenerate your thumbnails.
Code snippet taken from this source.