It often happens that I will be using a piece of software, and I will have the opportunity to specify something to the effect of 'qualifying extensions', and extensions that meet that criteria will be applied to that setting.

For example, User can upload files. Allowed file types (separate by comma):[text field here].

I think that example is perfect, because it is just the sort of place where the ambiguity gets introduced.

What is the acceptable format here:

  1. gif,svg,pdf,jpg,...
  2. .gif,.svg,.pdf,.jpg,...
  3. *.gif,*.jpg,*.pdf,*.svg,... (I grant that for the example above, it's probably obvious not to put it this way)

A lot of times, putting in the wrong format won't cause an error, but, the filter won't work, and you may not notice until your down the road a bit. Not wanting to deal with that future, (given the example above) I put in both - .svg,svg,gif,.gif,pdf,.pdf,jpg,.jpg - which seems stupid.

I have seen each of the specified formats be the one that the software requires, and no matter what format the program wants, it almost never makes it explicit.

My questions are as follows:

  1. Am I crazy for thinking this is an issue? / Does anyone else share my experience here?

  2. Given with the example above (perhaps applying more universally as well), what is the best way to remove the ambiguity?


2 Answers 2


What's a File Extension?

From a user point of view "file extension" is troublesome. Extensions can be hidden and often times are by default by modern file browsers.

enter image description here

For many common file types, it doesn't matter to the user. For example, I don't care if the extension is ".doc" or ".docx" -- all I care about it that the file opens in Word, lets me modify it, and saves correctly. Knowing what the extension is doesn't help the average user.

Your average user, as a result, doesn't necessarily know one extension from another. ".png", ".gif", ".jpg", ".xls" isn't descriptive to many people.

Extension is ultimately a piece of the underlying system. Don't force the user to understand what is going on under the covers if they don't have to.

What's a File Type?

Ask someone: "What type of file is this?" You may not get the answer you expected, and asking several people could generate different answers.

Show them an image, what are some of the possible answers:

  • "An image"
  • "A picture"
  • "A GIF" or "A JPEG" - regardless of if it really is a GIF or a JPEG.

People will answer to what they know. But "type" is certainly the better term, between the two.

Remove Uncertainty

When asking for a set of "allowed file types", remove the uncertainty involved with the entry.

Provide a drop down, or other selection mechanism. Similar to your standard Save dialog's file format selection, provide the user the ability to select from a list that includes both descriptive names and the extensions.

enter image description here

Such an option also allows you to include multiple options per type as well. So "Image (.png, .gif, .jpg)", for example.

Allow common alternatives to cover different common variations. Allow both ".png" and "png" to work. Don't make the user wonder which is correct, just make them both work.

This starts to move towards a more advanced user, since we are now asking the user to know what a "png" is. Remember, lots of people don't.

  • 1
    I don't know why I never doubled back to this, but this is a great answer. I must've figured out something else or lost track. Thanks though
    – dgo
    Commented Nov 20, 2020 at 22:27

The issue is that the user doesn't know if the entry is acceptable or not until commiting the entry. This is bad. I can think of two solutions.

  1. Instead of a text box, have checkboxes with the possible extensions listed. This way, the user doesn't need to guess if the period is required or not (and it may be faster to check boxes than to type the extensions and commas.) The limitation is if there are very many extensions, or if you do not know them all.

  2. If there are a great many file extensions or they could change, the text box would be preferred. The key to creating a positive interface is to accept either (with or without a period) and provide the user feedback that the entry has been accepted. Adding the period if the user omitted it or removing it if the user included it (depending on system needs) is trivial. Providing feedback to the user could be something like highlighting or changing the color if the input is accepted. Consider the Stack Exchange tag input. As the user types, the text appears in a normal font and how the user expects for a text box. (Adding a suggestion list is optional.) Once the user presses space, the font changes and the text is inside a box and looks "locked in." This makes the user feel confident that the entry is valid.

StackExchange tag input StackExchange tag input-complete

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.