createImageBitmap Unavailable? Troubleshooting by Platform & Environment
The Symptom You're Seeing
Any3D shows the message: "Your browser does not support createImageBitmap." This is one of the essential trio for the Worker path, used for efficient background decoding of image pixels. Without it, processes like texture compression and image-to-model conversion cannot complete the full Worker path, leading to potential lag with large files.
Common Causes
| Cause | Typical Scenario |
|---|---|
| Outdated browser/WebView | Old Android WebView, in-app web pages |
| Non-secure context | HTTP sites (not localhost), file:// |
| Incorrectly configured cross-origin resources | Enterprise CDN/CORS causing image decode failures (manifests as functional issues) |
| Memory/tab limits | Low-memory mobile devices, enterprise single-tab policies |
| Extension interference | Privacy plugins modifying Image API behavior |
Troubleshooting by Platform
Windows / macOS (Desktop)
- Use the latest stable version of Chrome / Edge / Firefox / Safari.
- Any3D must be opened via HTTPS.
- macOS Screen Time or Windows Family Safety might restrict downloads or media access, potentially affecting large image decoding. Test with an administrator account.
- Remote Desktop: Extremely high-resolution textures might fail to decode on weak GPU environments. Test with a small image first.
Linux
- Update Chrome/Firefox. On Wayland, if GPU decoding is abnormal, try an X11 session for comparison (rare).
iOS / iPadOS
- Support is good from Safari 14+; keep iOS updated.
- The built-in browser kernel in WeChat often lags → use Safari.
- iCloud Private Relay / Content Restrictions generally do not block createImageBitmap but may block cross-origin image hosts. Ensure model textures are same-origin or accessible.
Android
- Update Chrome and Android System WebView (Settings → Apps → Show system apps).
- Compatibility mode in some domestic browsers → switch to Chrome.
- Digital Wellbeing / Family Link restrictions on background activity do not directly affect the API but may block large file uploads.
Network, VPN & Enterprise Intranet
| Scenario | Explanation |
|---|---|
| Corporate VPN | If model textures use an internal CDN, CORS or certificate errors will cause decode failures—Console will show network errors |
| Transparent Proxy | If image responses are replaced or corrupted, createImageBitmap may reject |
| Intranet HTTP Only | Non-secure context; the API may be unavailable or have limited behavior |
| Zero Trust / SSL Inspection | Self-signed certificates must be trusted, otherwise resource loading fails |
Recommendation: Disconnect from VPN, switch to a mobile hotspot, and test by uploading a pure geometry model without external textures—if geometry works but textured models fail, prioritize checking network/CORS.
Enterprise Policies & Parental Controls
- Intune App Protection may restrict "Save as/Download", indirectly affecting the user's image selection flow, but the API itself should still exist—use Console to self-test and distinguish.
- School iPad Management: Blocking the Files app does not affect the API but impacts upload methods; use a supported upload channel.
- Router Parental Control DNS: If it blocks the Any3D domain, the entire site becomes unavailable, not just createImageBitmap.
Step-by-Step Fix (General)
- HTTPS + latest browser + restart.
- Incognito window to rule out extensions.
- Open in the system browser, not an app's WebView.
- Simultaneously check if Web Worker and OffscreenCanvas are also showing alerts.
Quick Self-Test
typeof createImageBitmap !== "undefined"
Advanced (requires HTTPS and an accessible image URL):
fetch("https://example.com/favicon.ico")
.then((r) => r.blob())
.then((b) => createImageBitmap(b))
.then(() => console.log("ok"))
.catch(console.error);
Summary
The createImageBitmap issue is often due to old WebView, non-HTTPS, or VPN/intranet causing resource loading failures. After updating WebView per platform, verifying on a different network, and ruling out extensions, the Worker image path is typically restored.