A Photoshop alternative that runs in your browser
Layers you can mask, adjustment layers you can reopen, selections by hand and by colour, healing and cloning, editable text, and a project file that keeps all of it, in a tab with nothing uploaded. It is US$35 a year on its own, or part of OBSCURA Pro at US$79 a year, which is less than Photoshop costs. Here is what OBSCURA Photo Editor does, what it does not, and how to tell in a minute which one your job needs.
Written · Updated
What people actually mean by "Photoshop"
Almost nobody who searches for an alternative wants all of Photoshop. They want the part they use: cut a person out of one photo and put them in another, fix the colour on a picture that came out orange, take a wire out of the sky, put words on a picture, blur a face, and get a PNG out at the end without the layers being lost the moment they close the window. Those jobs need a small, specific set of things: layers that can be masked, selections that can be made by hand and by colour, a handful of retouching brushes, levels and curves, text that stays editable, and a project file.
OBSCURA Photo Editor has that set. It runs in the tab, it uploads nothing, and it works with the internet switched off once the page has loaded. It is not free: the whole editor is US$35 a year or US$4 a month on its own, or part of OBSCURA Pro, which is US$79 a year (US$6.58 a month) or US$9 month to month, each with 7 days free first. Without Pro the page shows what the editor looks like and asks for a plan. This page says exactly what is in it and exactly what is not, so you can decide in a minute whether it does your job rather than finding out an hour in.
What is there
Layers. As many as you like, each with its own position, opacity and any of the twenty-seven blend modes (multiply, screen, overlay, soft light, vivid light, hard mix, colour, luminosity and the rest). Fill layers of a solid colour, a gradient or a pattern, changed later rather than repainted. A layer can be a picture, a piece of text, an adjustment, or a group: groups nest, fold, and have an opacity, blend, mask and effects of their own, or pass their members straight through. A layer can be clipped to the one beneath it so it shows only where that one has pixels. Layers can be picked several at a time, dragged about in the panel, duplicated, merged down, flattened, aligned to an edge or centred, rotated, flipped, and locked so painting cannot spill outside the pixels already there.
Masks. Any layer takes a mask. Make it from a selection, or start from one that shows everything or hides everything, then paint on it: the brush reveals, the eraser hides, and the gradient tool fades one into the other. A mask has a density and a feather that never touch its pixels, can be turned off to compare, inverted, turned back into a selection, or applied to the pixels for good. Quick mask, on Q, paints the selection as a red tint with any brush.
Adjustment layers. Levels, curves, colour balance, hue and saturation, vibrance, shadows and highlights, a photo filter, a gradient map, black and white, and the rest of the twenty-one adjustments can each sit as a layer that changes everything beneath it without touching a pixel. Double-click it later and move the sliders again. Levels and curves work on the whole picture or on the red, green or blue channel on its own. A channel mixer with a monochrome switch, replace colour, match colour from another layer, and colour lookup tables: seven looks built in, and any .cube file loaded and kept in the project. A histogram panel, an info panel with the colour under the pointer, a navigator, and a channels panel where a selection is kept as an alpha channel and loaded back, added, subtracted or intersected.
Selections. A rectangle, an ellipse, a freehand lasso, a polygon lasso, a magnetic lasso that clings to the nearest edge as you move along it, a magic wand with a tolerance, a quick selection brush that grows across similar colours under the stroke, and a colour-range picker that selects every pixel near a colour you click. A selection can be feathered, grown, shrunk, smoothed, turned into a border, inverted, loaded from a layer's pixels or its mask, and refined afterwards: smoothed, feathered, hardened or shifted in or out, and sent to a mask on the layer or a new layer.
Retouching. A clone stamp, a spot healing brush that matches the texture and the tone, a patch tool that borrows a clean part of the picture and blends the seam, content-aware move that slides a thing elsewhere and fills the gap it left, a red-eye tool, dodge and burn and sponge, smudge, a blur brush, a background eraser that clears the colour under the centre of the brush and a magic eraser that clears a colour with a click, and a history brush that paints an earlier state of the picture back in. Selecting something and choosing Remove what is selected fills the area from its surroundings, first by spreading the colours inward and then by fitting small patches from just outside the edge. It takes out wires, marks and small things against fairly even backgrounds; none of these knows what the thing was, and none invents anything.
Text, shapes and paths. A text layer keeps its words, font, size, weight, colour, alignment, tracking and leading, can be a line or a box the words wrap inside, can be bent by one of seven warps, and scales and turns as words until you choose to rasterise it; the fonts on your computer can be added to the list where the browser allows. A shape layer is a rectangle with or without rounded corners, an ellipse, a polygon, a star, a line, or any path drawn with the pen, with a fill and a solid, dashed or dotted stroke inside, outside or on the edge, and it stays geometry: restyle it, drag its points with the direct selection tool, or transform it without it going soft. The pen draws paths with corners and curves into a Paths panel, and a path can become a selection, a fill, a brush stroke along its line, or a shape layer.
Styles. Ten layer styles, live and editable: drop and inner shadow, outer and inner glow, bevel and emboss lit from an angle you set, satin, colour, gradient and pattern overlays, and a stroke inside, outside or centred, in a colour or a gradient. Blend If holds a layer back by its own tone or the tone beneath, with split points for a soft fade, which is how a texture is dropped into the highlights of a photograph.
Colour and paint. Gradients with as many stops as you like, each with an opacity, in linear, radial, angle, reflected and diamond shapes; patterns defined from any selection, a few built in, for the fill dialog and the pattern overlay; a swatches panel; a colour picker with a hue strip and a square, HSB, RGB and hex, that can pick from the picture. The brush has presets and a preview, an elliptical tip at an angle, scatter, size, angle and opacity jitter, pen pressure on size or opacity, an airbrush that keeps laying paint while it is held, smoothing for a shaky hand, and a chalk texture, and a brush you have set up can be saved under a name.
Smart objects, actions, plugins and tabs. Any layer becomes a smart object that keeps its source and is redrawn from it: scale it down and back up and nothing is lost, and adjustments or filters on it are smart filters that can be changed, reordered or removed later. Its contents can be replaced, or opened in a tab of their own and saved back. Actions record what the menus do, with the numbers, and play on a picture or run on a set of files. A filter plugin is one JavaScript file, installed from the Plugins menu, that gets the same dialog, live preview, selection, undo and action recording as a built-in filter; it runs sealed off in a worker of its own that sees the layer's pixels and nothing else, and has no way to send anything anywhere. Three examples come with it, a duotone, chromatic aberration and a pixel sort, with their source to read and copy. Several pictures are open at once as tabs, each with its own history. Export presets for the web, social, email and thumbnails, an exact size, a size estimate, and every layer as its own PNG.
Transform. Free transform with corner and edge handles, or by numbers: scale, rotate, flip, a group as one piece. Skew, distort, perspective and a sixteen-point warp, each previewed while you drag. Liquify: forward warp, twirl, pucker, bloat and a reconstruct brush, in a dialog, on the layer's own pixels. Content-aware scale, which takes the least noticeable seams out of a picture so it gets narrower without the people in it getting thinner, and keeps a selection whole. Crop to a ratio, straighten by a fraction of a degree, a perspective crop that pulls a sign or a page photographed at an angle square, trim the transparent edges, resize the picture or the canvas. Rulers, guides dragged out of them or laid out as columns and rows in one go, snapping to guides, edges and other layers, distribute, and a measure tool that reads a line's length and angle and straightens the layer or the picture to it. Ctrl Shift P finds any command by name.
Filters. Gaussian, motion, radial and surface blur; sharpen, unsharp mask and smart sharpen, which holds the halos back; high pass, reduce noise, dust and scratches, add noise, pixelate, colour halftone, vignette, emboss, find edges, twirl, spherize, ripple, polar coordinates, clouds, difference clouds, oil paint, lens correction and HDR toning. Twenty-five, each with a live preview and sliders, and any of them a smart filter on a smart object.
Files. It opens camera raw (DNG, CR3, NEF, ARW and twenty-odd other raw formats), JPEG, PNG, WebP, GIF, BMP, AVIF, HEIC from an iPhone, TIFF in grey, palette, RGB or CMYK, and Photoshop PSD: layers, groups, masks, clipping, opacity, blend modes, guides and the common adjustment layers come in, from 8-bit or 16-bit files in RGB, greyscale, indexed or CMYK, and a smart object comes in as its pixels. It saves PSD too, with the same things in it, so a file can go to somebody who uses Photoshop; text goes over as pixels and layer styles are left out, and it says so when that happens. The project file is a zip that holds every layer as a PNG with a small text file describing the stack, so nothing about it is a secret and anything that opens a zip can get the layers out. Export gives you a flat PNG, JPEG, WebP or TIFF at the size you ask for. Visible layers can go out as the frames of an animated GIF or PNG, or the whole thing as an SVG with shapes and text kept as vectors, or as a one-page PDF at the picture's resolution; PNG and JPEG exports carry sRGB and DPI tags. Several exposures or focus slices opened as layers fuse into one by exposure fusion or focus stacking. Thirteen looks, from matte film to cinema teal and orange, are shown on the picture itself and apply with one click as a group of adjustment layers you can open and change, or flat onto the pixels. Reduce noise works on luminance and colour separately, the way a raw converter does, and auto colour takes a cast out. A new picture can start at the size of a post, a story, a thumbnail or an A4 sheet at 300 dpi; a sample picture drawn on the spot lets you try the tools before you have a file; and the pictures you were working on wait on the start screen with a thumbnail each. Three proof views show the picture as the colour blind see it; a clipping warning shows what is blown. Undo goes back through everything, and a history panel lets you jump to any earlier step. A few seconds after each change the picture is kept in the browser's own database on this device and offered back on the next visit if the tab was lost.
CMYK, for print. The editor works in RGB, as a screen does, and reaches CMYK through ICC profiles, using Little CMS, the colour engine most free software uses, served from this site. A CMYK TIFF or PSD opens through the profile embedded in it, or through the working CMYK profile when it carries none, and the status line says which. The colour proof in the View menu shows the picture as that profile would print it, and the gamut warning greys what the inks cannot reach; both change only the view. Export as a CMYK TIFF writes the separation with the profile embedded, so the print shop's software knows what the numbers mean. The working profile is your printer's own .icc file, loaded from the Edit menu with a rendering intent and black point compensation and kept in this browser on this device. Until you load one it is an approximate coated profile the editor makes itself, which says in its name that it is approximate: near what a press does, but not a press standard.
What is not there
This is the part a comparison page usually leaves out, so it is the part to read.
- Working in CMYK. Everything is edited in RGB: a CMYK file is converted as it opens, and CMYK comes back only in the proof and in a CMYK TIFF on the way out. There are no spot colours or ink channels to edit, a PSD or a PDF is written in RGB, and no press standard such as FOGRA39 or GRACoL comes with it, because those profiles are licensed; load the one your printer gives you.
- Smart objects in a PSD. The editor has them, with smart filters, but a PSD's smart objects open here as their pixels, and a PSD written here carries the editor's own as pixels without the smart filters. It says so both ways.
- Layer styles, shapes and editable text in a PSD. The editor's own project file keeps all three; a PSD written here carries text and shapes as pixels and leaves the styles out, and it tells you so.
- Photoshop's plugins, and scripting. A plugin here is a JavaScript filter and can do nothing but change the pixels of the layer it is used on. Photoshop's own .8bf plugins are compiled Windows and Mac programs that no browser can run, there is no marketplace of things to bolt on, and there is no scripting language for driving the editor itself. Actions and batch processing are there for repeated work (menu steps recorded with their numbers, played on a picture or a folder of files).
- Anything that needs a server. No generative fill, no cloud library, no collaboration. The whole editor is code running in your tab, which is the reason nothing leaves it.
If your work lives in one of those bullets, use something else and do not feel bad about it. If it does not, the table below is the short version.
| The job | Here | Notes |
|---|---|---|
| Cut a subject out and composite it | Yes | Quick selection, magnetic lasso, wand or colour range, refine the edge, then a mask |
| Fix colour and exposure | Yes | Levels, curves, colour balance, temperature, shadows and highlights, as adjustment layers |
| Remove a wire, a blemish, a small object | Yes | Heal, patch, clone, content-aware move, or select it and remove |
| Put text on a picture | Yes | Editable text layers with shadow, glow and stroke |
| Blur a face or a number plate | Yes | Select it, Gaussian blur or pixelate |
| Keep the layers for next week | Yes | Save the project; it is a zip of PNGs |
| Open a layered PSD somebody sent | Yes | 8 or 16 bit, with its groups, masks and guides; smart objects as pixels |
| Open a raw file from a camera | Yes | DNG, CR3, NEF, ARW and twenty-odd others |
| Send a PSD to a designer | Yes | Layers, groups, masks and clipping go over; text as pixels |
| Prepare a file for a printer | Yes | Proof against the printer's profile, then export a CMYK TIFF with it embedded; the editing is in RGB |
| Draw a logo with editable curves | Yes | The pen and shape layers stay geometry; the PSD you send carries them as pixels |
| Straighten a building or a scanned page | Yes | Perspective mode in free transform, or the perspective crop tool |
| Reshape a face or a body | Yes | Liquify, with reconstruct to put it back |
| Resize and export two hundred photos the same way | Yes | Record an action, run it on the files |
| Scale a logo down and up again without it going soft | Yes | Make it a smart object first |
| Make an animated GIF | Yes | One layer per frame; GIF or animated PNG |
| Merge bracketed exposures | Yes | Exposure fusion from the layers |
| Hand a logo over as SVG | Yes | Shapes and text stay vectors in the SVG |
Why in a browser, and what that costs
The usual reason an online image editor asks you to upload is that the work is done on their computer and the upload is the price. Here the work is done on yours. Every edit is arithmetic on a canvas in the tab's memory, which is why the page keeps working with the network cable out and why there is nothing for a privacy policy to describe. The only things ever fetched after the page loads are the decoders for HEIC and camera raw files and the colour engine for CMYK, each from this site the first time it is needed, and each is kept on your device after that.
The cost is honest too. A browser gives an editor one thread and a limited amount of memory, so the editor opens a picture over 40 megapixels scaled down to fit, and says so, rather than trying and falling over, and a 30-megapixel file with a dozen layers will feel slow. The desktop programs use the graphics card for most of this; a browser cannot yet do that the same way everywhere. For a photo off a phone, which is 12 megapixels, none of this is noticeable.
If you have set up a folder on the front door, everything you export or save from the editor lands in its own Photo Editor folder inside it without a download prompt, alongside the rest of your work from this site.
The smaller tools, for the smaller jobs
Most of what people open Photoshop for is a single operation, and there is no sense loading a layer stack for it. PHOTO crops, straightens and marks up a picture in a page that opens in a second. SHRINK resizes, converts and compresses a batch of images at once, which is the whole job when the job is "make these small enough to email". OPTIC reads the text out of a photograph or a scan. All three work the same way as the editor: in the tab, nothing uploaded.
Questions people ask about A Photoshop alternative that runs in your browser
Is OBSCURA Photo Editor free?
No. The whole editor is part of OBSCURA Pro: layers, masks, brushes, filters, text, adjustment layers, camera raw, and opening and saving PSD files. The Photo Editor on its own is US$35 a year or US$4 a month, and all of Pro is US$79 a year (US$6.58 a month) or US$9 month to month, each with 7 days free first. Without Pro the page shows what the editor looks like and asks for a plan. It runs on your device like the rest of the site, and nothing is uploaded.
Does it upload my photos?
No. The picture is decoded in your tab and every edit happens in memory on your machine. Once the page has loaded it works with the internet switched off. The exceptions are the decoders for HEIC and camera raw files and the colour engine for CMYK, each fetched from this site the first time it is needed and kept on your device. Your pictures are never sent anywhere.
Can it open Photoshop files?
Yes. A PSD opens with its layers, groups, masks, clipping masks, opacity, blend modes, guides and the common adjustment layers, 8-bit or 16-bit, in RGB, greyscale, indexed or CMYK, with CMYK brought in through the file's own ICC profile. Smart objects come in as their pixels. It saves PSD as well, with the same things in it. Text layers go over as pixels and layer styles are not written, and the editor says so at the moment it happens rather than leaving you to find out in Photoshop.
Does it have layers, masks and adjustment layers?
Yes to all three, and groups and clipping masks besides. Layers with opacity and twenty-seven blend modes, groups that nest with an opacity, blend and mask of their own, a mask on any layer painted with the brush and eraser or made from a selection, clipping masks, and adjustment layers for levels, curves, colour balance and the other adjustments that can be reopened and changed later. All of it is kept in the project file and goes into a PSD.
What can it not do?
It does not edit in CMYK. It works in RGB, and CMYK is there as a proof through an ICC profile with a gamut warning, CMYK TIFF and PSD files opened through their profiles, and a CMYK TIFF exported with the profile embedded. A smart object in a PSD goes in and out as pixels. It does not run Photoshop's own .8bf plugins, since its plugins are JavaScript filters, or do anything that needs a server, such as generative fill. Shapes and text stay editable here and in the project file, but go into a PSD as pixels. The page above lists what is missing so you can check your job against it before you start.
Related tools
- A Smallpdf alternative that works in your browserCompress, merge, split, sign, protect, redact and convert, each Smallpdf job matched to a tool that never uploads the file, with what is free, what is Pro, and what is not here.
- An AutoCAD LT alternative for 2D drawings in the browser2D drafting in the browser with AutoCAD's commands, ISO fits, GD&T, hatching, blocks, DXF and PDF to scale: how Foundry compares with AutoCAD LT, and when LT is the better choice.
- An Adobe Illustrator alternative that runs in your browserOBSCURA Vector draws with the pen, shapes, type and pathfinder in a browser tab, with SVG and PDF out and nothing uploaded.
- An Affinity Designer alternative that runs in your browserOBSCURA Vector draws in a browser tab with nothing to install and no account. Affinity is free; this says honestly when to use it instead, and when Vector fits.
- An Adobe Audition alternative for podcasts, in your browserOBSCURA Sound edits, cleans up and sets the loudness of a podcast in a browser tab, with nothing uploaded.
A letter, now and then
An occasional letter when there is something worth reading: the new guides and what changed in the tools. Never more than once a month and nothing else, and you can leave at any time on the unsubscribe page.