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?

19 Comments
snickers
August 11, 2009 8:39 AM

The idea is obviously to make file management idiot-proof, but it really makes a lot of sense to learn how to recognise and use file extensions. I automatically unhide them on Windows installations. Vista took a step in the right direction by only highlighting the actual file name when renaming.

claude johnston
August 11, 2009 11:33 AM

I found this article to be very informative . It has given me very good information.I had no idea how to make the changes you have just shown.

David
August 11, 2009 1:27 PM

I have file extensions showing, as it may show up a rogue .exe masquerading as something else.

R
August 11, 2009 2:40 PM

I use this site when I run across an extension that I don't know which program it belongs to. It also helps when checking the default file associations, especially after a new piece of software starts changing those associations. There are other sites out there that do the same thing, but this one suits me the best.

http://filext.com/index.php

R

Paul
August 11, 2009 7:18 PM

Finally you have solved my identical problem which I have been having with file name changing and receiving the same dialog box. Thanks ever so much.

Chris
August 11, 2009 8:05 PM

For this and the related 3 articles I will buy you a coffee.
The articles solve many problems I have had over time and still get once in a while.
Thanks again Leo

Debbie
August 12, 2009 6:01 AM

Thanks for that info... I learned something today! Now why those little pesky things pops up makes sense! I had no idea how to fix it.

Alexis Corelis
August 17, 2009 8:40 AM

Would this be a backdoor way to make a file inaccessible to someone else? Say I have a journal I keep in Word but don't want anyone else to read it. Can I simply to to Explorer after saving it, take off the .doc extension, then, when I want to open it, go to Explorer, edit the filename to add the .doc? Would this hurt the file any after doing it several times?

It won't hurt the file, but it could be discovered if someone went looking. "Security by Obscurity" is rarely a truly secure approach. If it's important, encrypt it.
Leo
18-Aug-2009

Octav
August 17, 2009 9:27 AM

@Alexis Corelis -- For a personal journal? ...Maybe -- and that's assuming whoever wanted to read it had to find it first and was not particularly computer-savvy.

But for anything even slightly more important than that, changing the file extension is more likely to be completely ineffective.

Even on Windows, it's trivial to detect the type of most commonly-encountered files even if the extension part of their filename is missing or corrupted: all one has to do is open the file and try to recognize what's in it -- in many cases, this is as simple as reading the first couple of characters. For instance, an .exe file (or a .dll, for that matter) can be recognized from its first two characters: "MZ". A .zip file will start with "PK". Linux ELF binaries all start with the characters "ELF". All of these are part of the standard that defines how these files are created and used, which means there are very well-known signs to watch for when trying to find out what type a file is.

The main reason against detecting a file type this way (and thus making the extension irrelevant as a way of actually determining a file type) is that opening, say, 1,000 files in the same directory in order to read the first few characters in them is a slow process. Nonetheless, I'm vaguely certain Linuxes (and probably Mac OS X) have been doing it for a while now. On my Xubuntu, I can rename "my-pic.png" to "hahaha" and it still gets properly detected as a PNG image and opens correctly if I double-click it. Note that this is something I can do without any work on my behalf at all -- it's part of the OS itself. And I'm certain the same capability could be built into Windows, at some potential (small) cost in speed.

To summarize: an extension is just part of a file name, which is why it's not likely to be particularly trusted as anything but a first guess at what might be inside. As such, renaming a file to hide its extension does not make it any more secure than moving it into the recycle bin and moving it back out when you want to work on it.

If you have any type of data you truly consider sensitive, use some kind of encryption to hide it behind a password or passphrase only you know. Leo has been recommending TrueCrypt for a good long while, and with good reason.

Tina
April 23, 2010 2:39 AM

@R: You could also try http://dotwhat.net/ which is pretty useful, thanks for the tip though.

Nam
January 27, 2011 12:04 PM

All I can say is "Thank You" Leo! This fixed my problem and so simple if its wrote out:-) for me.
You are now on my FAVs. I really did appreciate the simplicity of it more then anything. O yeah and it fixed the problem.

Have a great day,Nam

Ashishparwe
March 20, 2011 4:07 AM

hey hi leo

sir i renamed my file from RobinHood.R5.mkvmoviez.com.mkv.001
to RobinHood 1.mkv
and 2 file to RobinHood 2.mkv
but 1st files opens and 2nd doen,t.why

ple help sir.

Without the error message that results I can't say. Realize that the file also needs to actually contain the right stuff (in this case an "mkv" file, apparently.)
Leo
20-Mar-2011

Amy
June 29, 2011 6:18 AM

Thank you so much Leo. This problem has bothered me for forever and I had almost run out of patience. Your explanation not only only told me how to fix it, but it also told me why this was happening which is so important to me. Thank you again for your easy to read easy to understand explanation!

steven
October 27, 2011 12:40 PM

Renaming files-Why cant i rename a file those with " ? ' and some files with little squares "-as part of the name of the file-i get a message which say " you cannot rename this file ........ use ms dos ..... ?Wat does it mean ????

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................

Comments on this entry are closed.

If you have a question, start by using the search box up at the top of the page - there's a very good chance that your question has already been answered on Ask Leo!.

If you don't find your answer, head out to http://askleo.com/ask to ask your question.