Convert it, do not rename it
Photographs go to JPG, screenshots and logos to PNG, documents to PDF. If it is an iPhone photo it is almost certainly HEIC, so use HEIC to JPG. If it is a photo saved as PNG, use PNG to JPG. If it is a pile of images that needs to be one document, use images to PDF. Changing the extension by hand does nothing useful, because the receiving system reads the contents, not the name.
What to convert to, and with what
| What you have | Convert to | Tool |
|---|---|---|
| An iPhone or iPad photo (.heic, .heif) | JPG, or PNG if it must stay lossless | HEIC to JPG or HEIC to PNG |
| A photograph saved as PNG | JPG | PNG to JPG |
| Several photos that must be one document | Images to PDF | |
| Several PDFs that must be one file | One PDF | Merge PDF |
| A whole camera roll of HEICs | JPGs, delivered as a ZIP | Batch HEIC to JPG |
| A HEIC you only need to look at | Nothing. Just open it | HEIC viewer |
If the form also complains about size once the format is right, that is a separate problem with a separate fix: see file too large to upload.
It is probably an iPhone photo
Apple devices capable of it record photos as HEIF and video as HEVC by default, rather than JPEG and H.264. The picture is the same and the file is considerably smaller, which is a real improvement — it simply arrived years after most upload forms were written, and a form that was told to accept JPG and PNG has no idea what a .heic is.
You have two options. Convert each photo as you need it, with HEIC to JPG, which also lets you drop the quality if the form has a size limit as well. Or stop the phone producing them: Apple's instructions are to "Open Settings, then tap Camera. Tap Formats, then tap Most Compatible", after which "all new photos and videos will now use JPEG or H.264 format" (Apple Support). That setting changes future photos only, so you will still need to convert the ones already on the phone. There is a longer walkthrough on stopping your iPhone taking HEIC photos, and one on what to do when a site refuses a HEIC.
Why renaming the extension does not work
It is the first thing everyone tries. A file called photo.heic gets renamed photo.jpg, the file picker stops complaining, and for a moment it looks like a win. It is not one. The extension is a label attached to the name; the bytes inside are unchanged. Many systems read the first few bytes of a file to see what it really is, and a JPG and a HEIC do not begin the same way.
The reason the picker stopped complaining is worth understanding, because it tells you where the real check happens. A form can tell the browser which types it expects, but as Mozilla's documentation puts it, that hint "doesn't validate the types of the selected files; it provides hints for browsers to guide users towards selecting the correct file types", and "you should make sure that expected requirement is validated server-side" (MDN). In other words the greyed-out files in the picker are a courtesy. The decision is made later, on a machine you cannot argue with.
The best case for a renamed file is that it is rejected. The worse case is that it is accepted, stored, and then fails silently for whoever tries to open it — a passport photo that will not display in a caseworker's system, a product image that renders as a broken box.
Why sites restrict formats at all
Three reasons, in rough order of how much the site cares.
- Security. A file upload is one of the most reliably dangerous features a web application can offer. Restricting the accepted types to a short list of formats the site can parse safely removes a large amount of that risk in one line of configuration.
- Whatever happens next. The file is rarely just stored. It gets resized, printed, put into a PDF, checked by a human, or passed to a system built in 2009. That chain has to be able to read it, and it is usually the oldest link that decides the list.
- Predictability. A narrow list means every file in the system behaves the same way. It is a lot easier to support than "anything the browser can open this week".
None of which helps you at the moment of rejection, but it does explain why the list is short and why arguing with it is not an option.
When it says "type" but means something else
Some rejections name the file type because that is the only message the developer wrote, not because the type is wrong. Check these before you convert anything:
- The file is damaged. An interrupted download or a half-finished cloud sync leaves a file that is the right length in the listing and unreadable in fact. Open it on your own machine first. If it will not open there, converting it will not help.
- It is zero bytes. Surprisingly common after a phone runs out of space mid-save. Nothing recovers this except the original.
- It is password-protected. A locked PDF cannot be read by the site, so it fails whatever check comes first. You need to remove the password in whatever created it; no browser tool here will open a document you cannot open yourself.
- It is an old Office format. The older .doc and .xls are completely different formats from .docx and .xlsx, despite the similar names. Re-save it from Word or Excel, or export it as PDF.
- The extension is wrong already. Files renamed by a previous owner, or saved with the wrong "Save as type", declare themselves as something they are not. The receiving system is reading the contents and telling you the truth.
There is one more possibility worth naming: the form dislikes what is inside the file rather than its type. A photograph carrying GPS coordinates, camera serial numbers and a timestamp may have that data stripped by systems with a privacy policy to keep. Remove EXIF data shows you what your photo is actually carrying before you send it anywhere.
Keep going
- It was refused for its size instead: file too large to upload.
- It was an email that objected: email attachment too large.
- Every other reason a file gets refused: why was my file rejected.
- Curious which format is actually smallest for your picture? The image format benchmark measures your own file rather than quoting an average.
- All of this happens in your tab: how converting without uploading works.
Frequently asked questions
Last reviewed 2 October 2026