Know what the browser can do.

Morsel relies on WebAssembly for every tool and on WebCodecs for video. The matrix below states the minimum versions and the limits that apply before a job can start.

Supported browsers

Browser support matrix
BrowserMinimumWebAssemblyWebCodecsNotes
Chrome / EdgeCurrent stableYesYesReference path for video encoding
Safari16.4YesYes, for supported codecsOffscreenCanvas and Wasm are required
Firefox130YesYes, codec support variesRemux is preferred when encoding is unavailable
Internet ExplorerNot supportedNoNoUse a current browser

Feature requirements

  • WebAssembly is required for every codec. If Wasm is disabled, no tool can run.
  • OffscreenCanvas is used to resize images before encoding. Supported target browsers provide it.
  • WebCodecs is used for video. When a codec cannot be configured, Morsel prefers a remux path and states the fallback in the interface.
  • File size and memory limits are checked before a job starts. They are shown on the tool page and on the pricing comparison.

HEIC depends on Wasm

HEIC decoding uses libheif-js in WebAssembly. It is heavier than JPEG or PNG decoding and needs more memory for large images.

Every HEIC input is converted to JPEG, PNG, or WebP; this build cannot encode HEIC. A 48 MP HEIC can exhaust memory on a phone, so large images should be processed on a desktop when possible.

Mobile limits

Mobile browsers can run the same checks, but memory and background-tab limits are tighter. A job that exceeds a limit is blocked before credits are reserved. All six tools are connected; video additionally needs WebCodecs support in the browser.

Mobile job limits
LimitValue
Video resolution1080p maximum
Video duration2 minutes
GIF duration60 seconds
Archive input total500 MiB
Single image100 MP

Not supported

  • Internet Explorer and other browsers without WebAssembly.
  • Browsers with WebAssembly or JavaScript disabled.
  • Private windows that block sessionStorage: the job still runs, but a retry after a lost response may reserve twice because the idempotency key cannot persist.