I've been building a set of file tools that run entirely client-side — no upload, no server. The image side turned out to need no library and no WASM binary at all . The browser already ships JPEG, PNG and WebP codecs, and shipping your own would cost megabytes to do it worse. Here's the whole thing: const bitmap = await createImageBitmap ( file ) const canvas = new OffscreenCanvas ( bitmap . width , bitmap . height ) const ctx = canvas . get...