filename.heic
Queued—
Notion accepts the file and then shows a download link where your image should be. Convert to JPG below and it renders as a proper image block.
100% Local — Files Never Leave Your Device
Drop your photos here
or pick them from your device — converted files embed as image blocks
Supports .heic and .heif from iPhone, iPad and modern Android cameras
88% keeps pages loading quickly without visible softness.
filename.heic
Queued—
Notion is a web app, and image blocks are rendered by your browser. Since no major browser decodes HEIC, Notion falls back to treating the upload as a generic file — so you get a download link, or an empty block, rather than the picture.
The same limitation hits gallery-view databases, where every card needs a thumbnail. A HEIC cover simply leaves the card blank, which is usually when people notice.
Convert the batch first and the whole gallery populates properly: covers render, thumbnails generate, and the page keeps working when you share it with someone on Windows or Android.
Filenames are preserved, so if your database rows are keyed to photo names the matching still lines up after conversion.
Drag them onto the box above or press Select Files. Conversion runs locally and starts by itself.
Download them, then drag into the page or upload to the files property of your database.
Not as rendered images. Notion will store a .heic upload as a file, but because browsers cannot decode the format it cannot display it in an image block or as a gallery thumbnail. Converting to JPG makes it render everywhere Notion runs, including the mobile apps.
The iOS Notion app can hand off decoding to iOS itself, which understands HEIC. The web app in a browser on Windows, Android or Linux has no such decoder, so the same page looks broken to your collaborators.
No. The decoder is a WebAssembly module that runs inside your browser tab, so the photo is read from your device into memory and converted there. You can check it in your browser's Network tab, or disconnect from the internet once the page has loaded and convert anyway.