Beautiful image effects, made in your browser.
EffectSoup is a browser-based image effects engine. Upload a photo, pick from 25+ deterministic presets, and export — every pixel is processed in a Web Worker on your device. No AI, no uploads to a server, no sign-up required to edit.
→ Try the Playground
→ Read the Docs
→ X / Twitter
Pixel grid, halftone, ASCII art, duotone, CRT glitch, dream glow, stipple print, error diffusion dither, ordered dither, LED matrix, noir grain, pencil grain, blocks ASCII, dense ASCII, classic ASCII, dot halftone, and more. Each one is a deterministic mathematical pipeline — same input, same settings, same output.
Your image never leaves your device. The flow is: file → canvas → Web Worker → export. Zero image data is sent to any server.
Adjust intensity and parameters while seeing results instantly. The editor renders at preview resolution during tweaks and switches to full-resolution only on export.
PNG, JPEG, or WebP up to 4K resolution. Crop before applying effects. Full-resolution rendering on export keeps the preview fast.
The same core pipeline is available as pure TypeScript with zero browser dependencies:
pnpm add @effectsoup/coreOr use all presets:
pnpm add @effectsoup/presetsWorks in Node, Deno, React, Next.js, or plain HTML.
| Package | Description |
|---|---|
@effectsoup/core |
Pure TypeScript image-processing primitives |
@effectsoup/presets |
Effect presets with intensity mapping and advanced controls |
@effectsoup/worker |
Web Worker client for off-thread rendering |
@effectsoup/effectsoup |
All-in-one meta-package |
- Monorepo: pnpm workspaces + Turborepo
- App: Next.js 15 App Router, React 19, TypeScript, Tailwind CSS
- Image Engine: Pure TypeScript — no WebGL, no WASM, no AI
- Auth: Clerk
- Hosting: Vercel
- Tests: Vitest + Playwright
pnpm install
pnpm build
pnpm devOpen http://localhost:3000.
| Command | Description |
|---|---|
pnpm dev |
Start dev server |
pnpm build |
Production build |
pnpm typecheck |
Type check all packages |
pnpm lint |
Lint all packages |
pnpm test |
Run unit tests |
pnpm test:e2e |
Run Playwright tests |
pnpm format |
Format with Prettier |
All image effects run in a Web Worker in the browser. The backend handles authentication only. See the Architecture guide for details.
MIT