jpexs-web FFDec client

Upload a SWF or compile a templated clothing image, edit exported image cards, then download the current SWF. Local inspection uses browser-held bytes. Upload, Process, export and swap send files or requests to the selected backend, which stores job files; they are not browser-only operations.

1a. Image to clothing SWF

Use an image already aligned to the costume template: the full image is resized to 1024 x 1280, not cropped or fitted. This is not automatic clothing detection or background removal. Select only the clothing; original image transparency is preserved by the server.

PNG, JPEG or WebP; up to 20 MB, 4096 pixels per side and 16 megapixels. Cyan marks selected pixels.
Server load: checking…
Choose a templated image, drag over clothing, then Process. Exported image cards below edit the bitmap character IDs used by the existing sprites.

1. Upload SWF

id: —   ⬇ download current.swf

1b. Local inspect + live preview (no server — static-safe)

pick a .swf above — its bytes stay in your browser for inspect/preview.
Preview runs Ruffle from CDN (unpkg.com/@ruffle-rs/ruffle); offline it degrades to inspect-only. Writes still go through FFDec until the WASM build lands (see wasm/).

2. Export assets



3. Swap log + download

no swaps yet — drop a file onto any card above, or use its 🔁 button.

⬇ download current.swf (re-export after swapping to verify)

Manual swap (advanced — type target + file by hand)

Images/sounds: target = characterId (the number on the card). Scripts: target = dotted name (e.g. com.example.MyClass). Use bitmap IDs from an Images export — sprite IDs via Replace report success but change nothing visible; to drop a whole sprite (e.g. splash) use its card 🗑 delete button.

Backend + tags (dumpSWF) + health

—
paint 100% —
script