HEIC · JPEG · PNG · WebP · or drop a photo anywhere
The iPhone Photos editor, in any browser
Raspy is a free online photo editor that recreates the Adjust and Crop tools from the iPhone Photos app and runs them entirely in your browser. Open a photo, move the same sliders, crop and straighten, and save a copy. There is no account, nothing to install, and the photo is never uploaded. The editing runs on your own device, on the graphics chip, through WebGL.
It also opens HEIC files from an iPhone on Windows, Android, Linux and ChromeOS, where they are usually a nuisance, so a photo can go from the phone to a finished JPEG without passing through a conversion site first.
Open a photo. Choose a JPEG, PNG, WebP or HEIC file, or drop one anywhere on the page. Files up to 75 MB and 60 megapixels are accepted.
Edit. Fifteen adjustments with a live preview, plus crop, aspect ratios, rotate, straighten and flip. Press and hold the photo, or hold Space, to compare with the original. Undo and redo cover every change.
Save. Export as JPEG, PNG or WebP at full, 75% or 50% size, with a quality control. On a phone the file can go straight to the share sheet. Location data and the rest of the metadata are left out of the saved copy.
What you can adjust
The same fifteen adjustments as the iPhone, in the same order, with the same direction of travel. Positive Highlights darkens, as it does on the phone, so muscle memory carries over.
Exposure: the whole image lighter or darker, as a camera stop would.
Brilliance: lifts dark areas and tames bright ones at the same time.
Highlights: recovers or brightens the lightest parts.
Shadows: opens up or deepens the darkest parts.
Contrast: widens or narrows the gap between light and dark.
Brightness: lifts the midtones without clipping the ends.
Black point: sets how dark the darkest pixel is allowed to go.
Saturation: strength of every colour equally.
Vibrancy: boosts muted colours while protecting skin tones.
Warmth: shifts the image towards amber or towards blue.
Tint: shifts the image towards magenta or towards green.
Sharpness: crisps fine edges.
Definition: adds local contrast so mid-sized detail stands out.
Noise reduction: smooths grain while keeping edges.
Vignette: darkens or lightens the corners.
Every slider works in linear light, with saturation and vibrancy stepping back into gamma space where colour behaves better. Sharpness and definition act on luminance only, so edges do not pick up colour fringes, and the export scales those filters so a full-resolution save looks like the preview you approved.
Crop, straighten, and flip
Crop freely or lock to Original, 1:1, 4:5, 4:3 or 16:9. Rotating the frame swaps a ratio to its portrait version (5:4, 3:4, 9:16), which is how the phone does it. Straighten runs to 45 degrees either way and fills the frame as you turn it, so there are never empty corners to trim afterwards. Rotate in 90 degree steps, and flip horizontally or vertically.
On a keyboard, the arrow keys move the crop one pixel, Shift makes that ten, and Alt with an arrow resizes the frame while holding its ratio.
Opens HEIC where nothing else does
iPhones save photos as HEIC by default. Safari can display them, but Windows needs paid codec extensions, many Android apps refuse them, and most websites reject them at upload. Raspy first asks the browser to decode the file itself. When the browser cannot, it loads libheif compiled to WebAssembly into the page and decodes the file there, on your device. The decoder is only downloaded when it is needed, and the photo still goes nowhere.
Most "private" claims are policy. Raspy's is architecture, and the code is public so each point can be checked.
No upload path exists. Decoding, editing and encoding run in the page. There is no server endpoint a photo could be sent to.
Nothing is stored. The photo lives in memory while its tab is open. Close the tab and it is gone.
Saved copies carry no metadata. Export re-encodes from raw pixels, which drops EXIF, including GPS coordinates.
Works offline. Install it once and it opens without a connection. The offline cache is written so image data can never enter it.
Optional visit counting. Google Analytics and PostHog count page visits, never see a photo, are off by default in the EU and UK, and switch off together from Settings.
Yes. There is no paid plan, no watermark, no export limit and no advertising. The source code is public under the MIT licence.
Are my photos uploaded anywhere?
No. Decoding, editing and saving all happen inside the page on your device. The application has no endpoint that could receive a photo, and the only network requests it makes are for its own files. You can confirm this in your browser's network tab.
Does it open HEIC photos from an iPhone?
Yes, on any operating system. Where the browser cannot decode HEIC itself, Raspy loads a decoder (libheif, compiled to WebAssembly) into the page and decodes the file locally. Nothing is uploaded to convert it.
Does it work on a phone?
Yes. It runs in Safari on iPhone and in Chrome on Android, and can be added to the home screen as an app. Once installed it opens without a connection.
Which formats can it open and save?
It opens JPEG, PNG, WebP, HEIC and HEIF up to 75 MB and 60 megapixels. It saves JPEG, PNG or WebP at full, 75% or 50% size, with a quality control for JPEG and WebP.
Is the saved photo's location removed?
Yes. The exported file is re-encoded from raw pixels, so EXIF data, including GPS coordinates, camera model and the original date, is not carried across.
Is this the iPhone Photos app?
No. Raspy is an independent, open-source recreation of the Adjust and Crop tools from the iPhone Photos editor, with the same sliders and the same sign conventions, so edits feel familiar. It is not affiliated with Apple. Filters, portrait lighting, markup, layers, text and AI tools are not included.
What does it need to run?
A current browser with WebGL2, which includes recent versions of Chrome, Edge, Firefox and Safari on desktop and mobile. Without WebGL2, crop, rotate and export still work, but the adjustment sliders are unavailable and the app says so.