EffectSoup is a browser-based, non-AI image transformation engine. Every pixel is processed in a Web Worker on your device — no uploads, no AI, no hidden limits.
Getting Started
New here? Start with these:
| Page | What you'll learn |
|---|---|
| Introduction | What EffectSoup is, how rendering works, package overview |
| Installation | npm/pnpm setup, requirements, minimal example |
| Quickstart | Open the playground, apply an effect, export — in 5 minutes |
Guides
Goal-oriented how-to guides:
| Page | What you'll learn |
|---|---|
| Upload & Crop Guide | Load, replace, remove images; crop, zoom, offset |
| Effect Controls Guide | Intensity slider, advanced controls, resetting |
| Exporting Guide | Format, quality, and resolution options |
| Creating an Effect | EffectPreset anatomy, registration, best practices |
| Testing Effects | Vitest patterns for presets and core |
| Performance | Workers, preview resolution, buffer tips |
Reference
Complete API and configuration documentation:
| Page | What you'll find |
|---|---|
| Editor Overview | UI layout, history/undo, compare, mobile |
| Effects Catalog | All 24+ presets by category |
@effectsoup/core | 39 functions, 22 types — buffer, color, dither, ASCII, glow, distortion |
@effectsoup/presets | EffectPreset types, lookup functions, shared controls |
@effectsoup/worker | EffectsWorkerClient, render options, versioning |
@effectsoup/effectsoup | Meta-package re-exports |
Concepts
Explanations of how EffectSoup works:
| Page | What you'll learn |
|---|---|
| Architecture | Monorepo layout, render flow, worker lifecycle |
| Troubleshooting | Common issues and their solutions |
| FAQ | Frequently asked questions |