PIXELS, NOT PROMISES

The darkroom that lives in a browser tab.

Layers, blend modes, curves, crop, brush, text and real PNG / JPG / WebP export. Every pixel is computed on your machine. No uploads. No accounts. No kidding.

Open the darkroom
FRAME 01A — × — LIVE CANVAS
ORIGINAL EMBER GRADE
Drop it. It stays right here.
computed in — ms · — pixels touched drag the handle · drop a photo · 0 bytes sent

CONTACT SHEET — 6 EXPOSURES

A real editor.
Really local.

Every tool manipulates actual pixel data on a canvas. No CSS-filter fakery — what you export is exactly what you edited. Hover a frame.

01A

Layers & blend modes

Stack, reorder, merge, flatten. Per-layer opacity and real multiply, screen, overlay and more.

02

Non-destructive filters

8 one-click looks, brightness, contrast, hue, blur, sharpen, vignette and a real curves editor. Hold \ to compare.

02A

Crop & transform

Pixel-accurate crop with ratio presets, lossless resize, rotate 90° and flip. Move, scale and rotate with handles.

Aa
03

Brush, shapes & text

Smoothed brush and eraser, rectangle / ellipse / line, and editable text layers.

.PNG 4.1 MB.JPG 812 KB.WEBP 498 KB.PNG 4.1 MB
03A

Real export

PNG, JPG or WebP with a quality slider and live size estimate, or copy straight to the clipboard.

.ember
04

Save & resume

Keep projects in your browser or download a portable file. Pick up later, no account needed.

DON'T TRUST US. WATCH.

Nothing
leaves
this tab.

Ember has no backend and no upload endpoint. Images are decoded, edited and re-encoded by your own browser with the Canvas API. The panel on the right isn't a mock-up: it listens to this page's real network activity since it loaded. Drop a photo in the demo above and watch it stay at zero.

NETWORK MONITOR 00:00:00
flatline — that's the point
requests since load
0
upload endpoints
none
images processed locally
1
servers that saw your photo
none
  1. page loaded · listening…

FREE FOREVER · LOCAL FOREVER

EMBER

Start editing — it's already loaded