What Causes RAW Photo Thumbnails to Work on the Web but Fail on Mobile?

Eva Wong is the Technical Writer and resident tinkerer at ZimaSpace. A lifelong geek with a passion for homelabs and open-source software, she specializes in translating complex technical concepts into accessible, hands-on guides. Eva believes that self-hosting should be fun, not intimidating. Through her tutorials, she empowers the community to demystify hardware setups, from building their first NAS to mastering Docker containers.

RAW thumbnails can work in a browser but fail on mobile because the two clients may request different previews, derivatives, sizes, or decoder paths.

Start with one working RAW file and one failing RAW file from the same library. Compare the exact thumbnail request made by web and mobile, then separate embedded-camera previews from server-rendered derivatives and local mobile cache. The original RAW file may be perfectly healthy while only one presentation path is broken.

Confirm Mobile Requests a Different Preview

Open the same RAW asset in the web interface and mobile app while capturing application logs or request paths. Compare requested thumbnail size, extension, response code, and whether the mobile client falls back to the original.

Many RAW files contain an embedded JPEG preview; a web client can display that embedded image while another client asks the server for a separately generated derivative.

If the two clients request different objects, stop treating the symptom as one universal RAW-decoding failure. The next test belongs to the derivative or client path that only mobile uses.

Compare Embedded Preview and Server Rendering

Extract or inspect the RAW fileโ€™s embedded preview, then compare it with a server-generated thumbnail. A healthy embedded JPEG and a failed generated thumbnail point to different code paths.

Photo-management tools document distinct RAW rendering behavior for embedded JPEG previews and rendered RAW data, which explains why one thumbnail path can succeed without validating the other.

If only generated thumbnails fail, inspect the server decoder and derivative job. If only the embedded preview is malformed, test another file from the same camera before changing the server.

Check the RAW Variant, Not Just the Extension

Record camera model, firmware, RAW compression mode, bit depth, and whether the failing files are native RAW, DNG, or a phone-specific RAW variant. Compare against one working sample.

Even DNG can contain different preview and image structures, so DNG preview differences is a better reminder than assuming every file with one extension reaches the client through the same decoding path.

A camera-specific split is useful evidence. Update or replace only the decoder component that cannot handle that variant, or generate a compatible derivative while preserving the original RAW file.

Clear Only the Broken Mobile Cache Layer

If server logs show successful thumbnail generation, test the mobile asset with cache disabled, after a targeted app-cache clear, or on another device. Do not purge the serverโ€™s entire thumbnail store first.

Phone RAW workflows such as ProRAW processing path add another processing layer before display, so client decoder and cached derivative behavior can differ from a desktop browser even for the same original file.

If a second mobile device works, focus on local cache or app version. If every mobile device fails on the same derivative URL, return to the server response rather than repeatedly reinstalling clients.

Regenerate One Derivative and Re-Test

Delete or invalidate only the failed derivative for one controlled RAW asset using the applicationโ€™s supported workflow, then let the server rebuild it. Record the new object size and response.

The related ZimaSpace guide to Immich family photo library provides the adjacent boundary: preserve originals and make derivative regeneration disposable rather than turning a preview issue into a photo-loss event.

Declare the issue fixed only when the same RAW file displays on web and mobile after cache expiry, app restart, and a fresh server request. If the regenerated derivative still fails, preserve it for decoder-level comparison.

Frequently Asked Questions

Why can the browser thumbnail work when the mobile app shows nothing?

The two clients may request different derivatives, sizes, formats, or cache entries. A valid browser preview therefore does not prove the mobile preview object is healthy.

Should RAW files be converted to JPEG just for mobile viewing?

Not as a first fix. Test whether embedded previews or generated derivatives are the failing layer before duplicating or converting the original archive.

Can one camera model trigger the problem while another does not?

Yes. RAW formats and embedded preview choices differ by camera model and firmware, so compare one working and one failing file rather than treating all RAW files as equivalent.

Support & Tips

More to Read

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.