File APIs: Accept only images in file input

Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026

The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.


Of course you could add a server-side filter, but also having a client-side filter is a great UX for your users - no time wasted and no resources wasted to send a file to you and get back with an error.

You can do so by using the accept attribute, and specifying the MIME type of the files you accept.

image/* should catch all images.

<input type="file" name="myImage" accept="image/*" />

If you want to only allow some specific file types, list them:

<input type="file" name="myImage" accept="image/x-png,image/gif,image/jpeg" />

You can check the browser support for this attribute here: https://caniuse.com/#feat=input-file-accept

Lessons in this unit:

0: Introduction
1: The File object
2: FileList
3: FileReader
4: Blob
5: FormData
6: ▶︎ Accept only images in file input
7: Check if checkbox is checked
8: Reset a form
9: File upload with server handling
10: Drag and drop file upload
11: Validating file size before upload