Change all png texture to jpg

Hey Guys,

I have a model kit using ~100 png textures. I now want to change them into jpg textures, to make them lighter. I used ifranView to batch convert all these into jpg and put them into a different folder.

How can I now change all of the images to use the jpg version?

What I tried was to rename the folder the png images where in, so Blender would ne be able to find them and display pink textures.
I then whent to files > external data > find missing files, and navigated to the jpg folder, but it wont accept them as the original files, the they now and with .jpg and not .png.

I asked chatGPT for help, which wrote a script to change all image texture nodes from .png to .jpg, but this did not work.

Is there maybe a better solution?

Why? HDD/SSD is cheap nowdays, and JPG offers poor quality, there are better formats like webp, also if those are normal maps it just wrong and normal map should never be in jpg.
Instead of this shenanigan, just get another drive/NAS.

2 Likes

I double this…

Also: the images might be smaller on disk but they use the same space in memory anyway.

2 Likes

First of all … I guess what the others said is correct. This won’t make the processing faster or more memory efficient

but if you want to upload the project and have online access then this seems reasonable. I guess there is a way to script this and all but if you don’t mind playing dirty, just rename (not convert) the jpgs back to $filename.png

that should work just fine. Tried it with b4.1 on win 10. Blender doesn’t seem to care about whether the file extension matches the actual type

(All alpha info is lost this way of course, also I read somewhere that saving as exr with compression gives a better size/quality ratio but exr then comes with different problems)