Problems with jpg covers in progressive format

I have suggestion for a very related subject. When a cover is downloaded the internet the Jpg may be Progressive jpg. A lot of music players (mine is a Sony) the jpg should be a baseline format. I have to use Photoshop to convert the Progressive to Baseline) Is it possible for Mp3Tag can do the conversion?

Hello @Doug48,

When you write "Progressive jpg," are you referring to this type of image for audio files:

image.jpeg, which should be written: image.jpg...

If that's what you're referring to, a .jpeg file, I deal with this type of file sometimes. I remove the letter 'e' from the .jpeg extension to get a .jpg, and the image appears perfectly...

I don't think Mp3tag can change the extension of an image directly in an audio file...

I think it would be possible, but I'm not sure, to be able to change the extension of the image(s):
image.jpeg to image.jpg in a folder with a Tools and a small script in .cmd (Batch).

This may be a peculiar function of your player.
A progressive jpg file has a completely different file structure from a baseline one. So simply changing the extension of a file would not change that.
I mean, if you changed the extension to "txt" you would not get a description of the picture...

If you change the picture format inside Mp3tag - for example with a right-click on the cover in the left Tag Panel and the context menu entry "Adjust Cover" - you get a picture with the MIME type image/jpeg.

If you export such an image with "Extract cover", you get a picturename.jpg filename (without e in the extension) by default.

AFAIK Mp33tag only does a conversion from JPEG (progressive) to JPEG (Baseline), if you adjust the picture to a different size with an action of the type “Adjust cover” or manually in the tag-panel context menue, i.e. from 800x800 to 799x799.

Exactly.
The visible main difference between a baseline JPEG and a progressive JPEG is explained here:


Source (no more available in March 2026)

Adjusting the embedded picture format from "JPEG progressive" to PNG and back to JPEG would change the JPEG type from progressive to baseline too.


I'm not absolutely sure what kind of picture details would get lost during such a conversion in Mp3tag.
The JPEG picture format is a "lossy" format (comparable to .mp3 as audio format).
The PNG picture format is a lossless format (comparable to .flac as audio format).

So converting from JPEG to PNG will preserve the current state of the image without further loss. It won’t degrade the image any further.
BUT the conversion from PNG back to JPEG may introduce artifacts, especially around edges and gradients. You lose data, depending on the compression level you choose (in Mp3tag called "Quality" in the Adjust Cover settings window).
Transparency (alpha channel) in PNG would also be lost, because JPEG doesn’t support transparency. However, since the original image in this case was a JPEG file (without transparency), this should not matter.

Therefore, I assume that adjusting/converting a progressive JPEG to PNG and then back to JPEG with the "best" quality setting (100) in Mp3tag should not further degrade the original JPEG image but convert it to a baseline JPEG.

What do others think about it?

Hello @ohrenkino,

I know very well that I can't do .txt, it wouldn't work...

The first time I saw a .jpeg file, I did a test. I removed the 'e' from the extension to get .jpg. It worked, and it still works...

I don't know if it depends on my player; I have no idea...

I'm wondering Ohrenkino you remove the 'e' from the .jpeg extension to get .jpg it won't work for you...

Hello @LyricsLover,

We've already discussed this topic. For my .JPG extensions with a .jpg result, "Adjust Cover" works fine. I wasn't sure if it would work with the .jpeg extension to .jpg, but it works too...

It makes sense that if we used "Adjust Cover" and then used "Extract Cover", the result would be a .jpg extension. Thanks for the info...

That is not what I said.
Your idea to transform a file

(or that is what I understood) by simply changing an extension does not work.
The discussed problem was a difference in jpg-file-formats, one baseline and one progressive where progressive may cause problems.
For me it sounded as though removing the "e" from jpeg to get "jpg" would change the file format - which it does not.

See eg.g here:

Hello @ohrenkino,

Thanks for the page link…

I understand your explanation better…
… open a jpg in a bitmap editor and save it as a bmp…

In the case of your example, from January 2016, which I summarized like this: if you have a file with the .jpg extension and you want to get a .bmp (bitmap) file, you need to open a bitmap editor that will allow you to convert it to BMP format.

You also added this comment: Apparently, the programs you use to display the files are clever enough not to care about the filename extension.

Interestingly, user @DetlevD was using the "IrfanView" program at the time to convert the extensions:

.jpg to .bmp
.bmp to .jpg

ohrenkino, I like this comment you added, which I find very relevant:

YOu could then compare the original jpg with the transformed bmp, especially in respect to size.

If you need lossless conversion jpegtran is a command line tool that does that for you.

Thanks for that hint!

I just made a short test with jpgetran:

To convert a JPG from "progressive" to "baseline", you can use this CMD command:
jpegtran.exe -outfile baseline.jpg progressive.jpg
or even shorter:
jpegtran.exe progressive.jpg baseline.jpg
(because standard usage is: jpegtran.exe [switches] inputfile outputfile)

To convert a JPG from "baseline" to "progressive", you can use this command:
jpegtran.exe -progressive -outfile progressive.jpg baseline.jpg

To get an idea of how large a JPG file would be if converted to a BMP file, simply look at the image information in IrfanView (Image->Information).
The size of the JPG file corresponds to the disk size specified, and the expected size of the BMP file corresponds to the current memory size specified. Based on this information, you can also understand that even a small compressed JPG file requires significantly more RAM space when displayed.

Another way is to just multiply resolution with number of channels and bit size and then divide by 8, eg from the above example(width x height x red x green x blue) 1448 x 1448 x 3 x 8 / 8 which equals around 6 MB

For those interested:

IrfanView shows the number of channels as "24 BitsPerPixels".
That means for the above JPG 3 channels with 8 Bits each.
1 channel for R(ed), 1 for G(reen) and 1 for B(lue).
PNG could have 4 channels (one additional alpha-channel, mostly used for transparency)
image

The division by 8 calculates the Bytes from the Bits.
1448 x 1448 x 24 = 50'320'896 Bits
50'320'896 Bits / 8 = 6'290'112 Bytes
The discrepancy of 40 Bytes from the displayed figure of 6.290.152 Bytes in the above example JPG could be header data, metadata, or sometimes padding space.

Hello @LyricsLover,

Your little .cmd script is really interesting...

Can you make a short video so we can see the result…

A video from a CMD-Line command? :thinking:
Executing the above command simply creates an additional JPG file with a name of your choice.
Either a new JPG that is converted from "progressive" to "baseline".
Or the other way around.

Or are you asking how the picture looks before and after conversion?
It looks exactly the same. The only difference is how it will be visibly built in a webbrowser.
(This is only really visible for huge pictures or a very slow internet connection).

Hello @LyricsLover,

Okay, I understand your explanation. I took the time to look more closely at the images you posted yesterday...