Helping people with computers... one answer at a time.

Filename extensions are important pieces of information that Windows uses to determine what a file contains. Change it, and you could lose access.

Recently, been having a problem when I try to rename a picture or an icon, the following message appears: "If you change a file name extension, the file may become unusable". I have lost pictures when I went ahead and ignored the message. Why am I suddenly having this problem?

I don't know why you're suddenly having the problem, but I do know what the problem is.

You actually haven't lost your pictures - you've just removed the information that tells Windows what to do with them.

First, we need to understand how filenames are constructed. There are actually four parts to a full file path:

C:/path/basename.ext

Where:

  • C: is the drive on which the file resides. (This can also be \\server\share for shared files located on a local area network)

  • /path/ is the path of folders and subfolders underneath which the file resides

  • basename is the base name of the file . This is probably what you think of as "the name", in that it's the part you choose to name or describe the file.

  • .ext is the extension. This is the part that tells Windows what kind of file it is.

"I'm going to assume you're renaming your file using Windows Explorer, since that's where it's very easy to run into the problem you're seeing."

The "filename" typically refers to the base name plus extension or basename.ext.

I'm going to assume you're renaming your file using Windows Explorer, since that's where it's very easy to run into the problem you're seeing.

Even though almost all files have the extensions, Windows Explorer does not display them by default. This is a huge mistake in my opinion, but it is what it is.

Here's what I mean:

Windows Explorer Thumbnail View

This is Windows Explorer in Thumbnail view on a folder of some pictures I have. Note how the filenames don't show any extensions.

In Windows Explorer, click on the Tools menu, Folder Options menu item, and then the View tab:

Windows Explorer Folder Options highlighting the 'Hide extensions for known file types' option

Uncheck the "Hide extensions for known file types" option. Now we look at our files again:

Windows Explorer Thumbnail View - Including filename extensions

As you can see, each filename's extension is now visible: these are ".JPG" and ".NEF" files.

Now, I'm going to click on one of the images and press F2 to rename the file:

Thumbnail after pressing F2 to rename.

If I start to type a new filename, it overwrites the extension as well:

Thumbnail during rename

And sure enough, once I press Enter, I get this warning:

Windows Explorer File Rename Warning

The problem? The ".jpg" is missing. Windows knows what a "_DSC5278.JPG" file is, it's a jpeg image, or photo. But it has no idea what a "Horse" file is ... the extension has been lost and Windows has no idea what to do with that file. It doesn't even know how to show you a thumbnail:

Windows Explorer thumbnail of a file with no extension

Regardless of the path that you took to rename your file, that's the problem - the filename's extension is missing or incorrect.

The solution, of course, is to include or preserve the extension when you rename the file:

Windows Explorer thumbnail of a .jpg file

Simply by including the ".jpg" when I renamed the file, Windows understanding of what that file is has been preserved.

A couple of notes:

  • I strongly recommend not hiding extensions in Windows Explorer, as demonstrated above. Hiding extensions can actually allow malware to trick you into thinking they're something that they're not. For example, with extensions hidden "horse.jpg.exe" would display as "horse.jpg". You might think it's a picture, but it's not - double clicking on it could launch a dangerous piece of malware.

  • In that same vein, be careful to know what it is your acting on - it's not that uncommon to see pictures named "horse.jpg.jpg" because people didn't realize extensions were hidden. It's typically benign, but it can be confusing. Again, not hiding extensions solves this problem.

  • You'll note that ".JPG" and ".jpg" were treated the same way. In general extensions are case insensitive - .jpg is the same as .JPG - in Windows (though they are typically case sensitive - .jpg is not the same as .JPG - when uploaded to web sites). Best to pick one approach and stick with it.

  • You cannot change a file's type simply by renaming it. For example, you can not change a jpg file to a png file just by changing the extension to ".png". It may be called a ".png", but it's still a jpeg file on the inside.

Article C3833 - August 8, 2009 « »

Share this article with your friends:

Share this article on Facebook Tweet this article Email a link to this article
Leo Leo A. Notenboom has been playing with computers since he was required to take a programming class in 1976. An 18 year career as a programmer at Microsoft soon followed. After "retiring" in 2001, Leo started Ask Leo! in 2003 as a place for answers to common computer and technical questions. More about Leo.

Not what you needed?

Recent Comments
19 Comments
Mark J
October 27, 2011 2:47 PM

@Steven
Some characters such as ?,* or / are not allowed in filenames because they are reserved for system use. ? and *, for example, are used in wild card searches and are disallowed as characters in a file. / is used as a directory separator.

bubbles
November 10, 2011 6:37 PM

tnx Leo..this article has been very helpful..grateful for this explanation i've been able to save what i seem lost :))

tips to avoid this kind of problem: Don't rename the file just "save as" the file =)

Art campos
November 20, 2011 4:05 PM

wow! Leo you are the best

Patti D
December 9, 2012 3:34 PM

i printed your pages so i can "teach" myself what to do. While printing i 'skimmed' some of the information & i think it may work. if not i will email you again. thank you so much

K.Narayanasamy,M.A;B.L,B.Ed
December 13, 2012 11:49 PM

excellent solution ! thanks a lot. My mind boggling problem has been solved very simply. AGAIN I THANK LEO A.NOTENBOOM................