RAW Studio. Go beyond the RAW
Planning, library, RAW development and layered editing in a single native Mac app, with a macOS look and feel: rounded floating panels, real frosted glass (true blur behind cards, menus and dialogs), a neutral dark theme and the system font. A personal project by Luis Nieto, released as open source.
Version history in CHANGELOG.md

Requires a Mac with Apple silicon (M1 or later) and macOS 26. Build it and drag RAW Studio to Applications. The app is not signed with an Apple developer account: the first time, open it with right-click ▸ Open (or allow it in System Settings ▸ Privacy & Security). You can also build it yourself from the source (below).
Screenshots
![]() Library |
![]() Develop |
![]() Masks |
![]() Before and after |
![]() Layered editor |
![]() Map |
![]() Night stacking |
![]() Panorama: little planet |
The photographs in the screenshots are by Luis Nieto (© all rights reserved): they only illustrate the app and are not covered by the code license.
What it does
RAW Studio brings two free projects together in one app, and adds improvements and extra features:
| Part | Project | What it does |
|---|---|---|
| Photos | LightCraft 0.7.1 (MIT or Apache-2.0) | Library, import (also from a Lightroom .lrcat catalog), culling, RAW development, masks, HDR and panoramas, export, XMP |
| Editor | PhotoCraft 0.9.0 (MIT or Apache-2.0) | Layers, masks, adjustment layers, filters, retouching, selections, text and PSD; inside the same window |
Photo ▸ Edit in ▸ Edit in the Editor (⇧⌘E), or the Editor button in the top bar, works like "Edit in Photoshop" in Lightroom: it creates a 16-bit PSD copy with your development settings, stacks it with the original and opens it in the Editor, inside the same window (no second app or window). ⌘S saves over that copy and the library updates it.
The Editor is in Spanish, uses the same black and the same floating panels as the rest of the app. Tab hides its panels (tools, options and right panel) and ⇧Tab only the right panel; the floating Hide panels button in the corner also hides its menus and status bar. No welcome messages or links: the start screen only offers New document and Open. The document name appears in the center of the top bar (with • when there are unsaved changes).
Place search: type a city, a street, a mountain or a business and matches appear as you type, like an online map (OpenStreetMap: Photon and Nominatim). What you type is sent to those services; offline, the built-in list of names (GeoNames) is used.
Map and Planner, in a single view (View ▸ Planner, ⌥⌘P; View ▸ Map, ⇧⌘M, opens the same view): a full-screen map, satellite by default (Esri World Imagery, with names and borders), with a floating side panel, a time bar and a compass with the Sun and Moon. The first icon of the map bar chooses the mode, and each one shows only its own content:
- Photos: the photos in the current view, grouped in pins with thumbnails. Photos without a location are placed with right-click ▸ Geolocate on the map… (one click on the map) or Put photos here.
- Points of interest (red pins): saved places with a record (status Want to go / Visited, best time, notes and sample photos from the library).
- Plans (blue pins): place, day, time, target, notes and reminder; sent to macOS Calendar as an event with an alarm and the daylight details in the notes.
- Planner: the astronomical lines and tools. Everything is calculated on your computer, offline
(
lightcraft-astrocrate, Jean Meeus formulas); the time zone is deduced from the place and can be corrected.
The Sky panel (Sun / Moon / Night menu, plus Align, Places, Search and Calculators) gives, for a place and a day:
- the height of the Sun, the Moon and the Milky Way core over the twilight colors, the golden and blue hours, the three twilights and the Moon phase, with lines on the map showing the direction of every rise and set, in PhotoPills style (thick rise/set lines with times, thin line for the current position, Standard / Trajectory / Light direction styles, 0.5° wedge for the real size of the Sun and Moon);
- the Milky Way layer: dotted arc, elevation circles, core, horizon crossings and visibility bands;
- twilight layer (tint by type of light) and meteor shower layer (radiant);
- eclipses: lunar and solar eclipses seen from your location, with contacts, and the solar eclipse path on the map (totality/annularity band, center line with times every 10 minutes, point of maximum and approximate partial limits);
- a year-long calendar (day length, Moon phase or dark-sky hours) and the best nights of the coming months for the Milky Way, with nearby meteor showers;
- Find dates: days when the Sun or the Moon reach a chosen azimuth/elevation, with phase and light color; jump to the previous/next event from the time bar;
- an Information tab with terrain, Sun and Moon, natural light and Milky Way (size, distance, age, seasons, perigees and apogees);
- Align: a target on the map with its distance, direction and apparent height, and the days of the year when the Sun or the Moon sit right behind it, with real altitudes, terrain profile and the shadow of the object;
- Mountains: the real horizon from the place (AWS Terrain Tiles, with named peaks and heights from OpenStreetMap), with the paths of the Sun, the Moon and the Milky Way;
- terrain shadows over the map and light pollution (D. Lorenz atlas);
- a field of view and depth of field tool on the map, hyperfocal distance and DoF tables, maximum exposure without star trails (NPF and the 500 rule), exposure (EV) calculator, equivalent focal length, subject distance, Moon-versus-subject, and timelapse, neutral density filter and star-trail length calculators;
- load a place by latitude/longitude (decimal and DMS) and copy it.
Viewed tiles and terrain data are stored so you can use them offline. It is also a command
(view.planner) that returns the times of the day, for use from the command line or MCP.
Points of interest on your phone — RawStudioPDI (a separate companion project): a phone web app (PWA, installable on the iPhone home screen) to save places in the field, even without coverage: GPS position, name, notes and photos, kept first on the phone and sent when a connection returns, through a private Cloudflare Worker (D1 + R2, Face ID lock). RAW Studio synchronizes in both directions, with no duplicates:
- points created on the phone show up on the Map, with their photos in the place's record;
- points created or edited on the Mac go to the phone, and deletions on either side reach the other;
- if both sides changed the same point, nothing is overwritten silently: the server's version is kept and yours becomes a "(conflict)" copy;
- it syncs on launch, every 10 minutes, with the cloud button on the map, from File ▸ Sync points of interest and from Settings;
- Settings ▸ Points of interest on the phone: generate a main key (stored in the macOS keychain), link a phone with a short code (10 minutes, single use) or a QR code you scan with the iPhone camera, and see and revoke linked phones;
- File ▸ Export / Import points of interest… with a documented JSON format (idempotent import).
Lightroom presets: File ▸ Import Lightroom presets brings all of yours at once (from
~/Library/Application Support/Adobe/CameraRaw/Settings), with their groups. When importing photos you
can choose one (with search) and it is applied to all of them, as in Lightroom; it is remembered for the
next time.
Panoramas (Photo ▸ Combine photos ▸ Panorama…, ⌃M): flat (spherical, cylindrical or perspective), 360° photo (2:1, tagged for 360° viewers) or little planet. Automatic orientation (series of vertical photos come out upright), distortion correction, vignetting and white balance, seams that avoid people and branches, Paint seams and manual Control points, Adjust view and AI Fill edges. A larger preview lets you check the result before rendering.
Night: Photo ▸ Combine photos ▸ Night stacking… (⌃N) merges several identical shots to remove noise (it aligns the stars and keeps the landscape still, with no planes or satellites) or to make star trails, with a comet tail if you want. File ▸ Timelapse… turns the same series into a QuickTime movie. Hot pixels from long exposures are removed before development.
Automagic (Photo ▸ Automagic): a one-step starting point (automatic tone plus a soft treatment of sky, subject and background with editable AI masks), also for several photos at once.
AI (on the Mac's GPU with Metal, in pure Rust with candle): Photo ▸ Enhance ▸ Enlarge ×2/×4
(Real-ESRGAN), Photo ▸ Enhance ▸ AI noise reduction (SCUNet), Remove ▸ With AI to erase people or
objects (LaMa), Depth mask (Depth Anything V2), RAW noise reduction (Detail) and Object/Describe
masks (SAM 3, with a free Hugging Face key). Models are downloaded the first time they are used, from
their authors' page, to ~/Library/Application Support/RAW Studio/vision-models (and denoise-models,
models/sam3).
Network drive (Settings ▸ General ▸ Network drive, File ▸ Connect the network drive): when RAW
Studio opens it mounts the shared folder with your RAWs over SMB (for example /Volumes/ssd1tb, folder
raws) if it is not mounted already. Away from home, if the server does not respond, it turns on
Tailscale and retries (your Tailscale server must share your home network). The password is stored
by the macOS keychain, never by the app. Mac only and off by default.
Working without the NAS: if the drive is disconnected or hangs, the whole volume is detected as offline at once (no photo-by-photo checks that freeze the app). You can open the library and browse and develop from smart previews; the grid tells apart originals that are offline but visible from the preview/cache (accent dot) from those with no preview ("Original offline"). When the drive comes back, failures are cleared and 1:1 zoom reads the original again. You can build smart previews during import (Generate smart previews checkbox), and make a library backup to the NAS with the cloud in the top bar (only what changed, catalog last, reminder after 7 days).
Look: floating cards with real glass (blur behind them, also on menus and dialogs; turn it off with
RAW_STUDIO_GLASS=0), dark theme only, macOS-style switches and segmented controls, a splash screen on
launch (skip it with a click, Esc, Space or Enter, or --no-splash), and focus mode
(View ▸ Focus mode, ⇧Tab) that leaves only the photo or the map. Develop works in solo mode
(one open section at a time, as in Lightroom; right-click a section title to turn it off).
There is no face detection or recognition.
Build on the Mac
You need macOS 26 on an Apple-silicon Mac and Rust 1.95 or newer (Xcode is not required):
rustup update # or install Rust from https://rustup.rs
tools/build-mac.sh --install # builds and puts "RAW Studio.app" in /Applications
The first build takes a while (on an M-series Mac, about 10–20 minutes); later ones only rebuild what
changed. Without --install, the app ends up in dist/RAW Studio.app. To try it without packaging the
app: cargo run --release -p raw-studio. If a zip loses the executable permissions of the scripts:
chmod +x tools/*.sh.
Where it keeps things
- Settings:
~/Library/Application Support/RAW Studio/(the Editor's, in itsEditor/subfolder). - Default library:
~/Pictures/RAW Studio Library(you can open or create another in Settings). - Your originals are never modified; Lightroom's
.lrcatis only read. - API keys (network drive, phone sync) go to the macOS keychain.
To bring in your Lightroom catalog: File ▸ Import Lightroom catalog…
Structure
apps/raw-studio/ the app: window, Mac menu, splash screen, Editor button
src/main.rs LightCraft host
src/editor/ the Editor (PhotoCraft) inside the window: dialogs, clipboard, settings
icons/ icon (the aperture from the first versions) and its generator
crates/ LightCraft (engine, development, library, UI…) and the astronomy crate
photocraft/ PhotoCraft (editor), with its changes to run inside RAW Studio
tools/build-mac.sh build and package the .app
tools/publicar-github.sh check that nothing personal is included and publish to GitHub
CHANGELOG.md versions
docs/README-LightCraft.md the original LightCraft README
Changes to the original projects
- LightCraft: "Edit in PhotoCraft" becomes "Edit in the Editor" and opens the bundled editor (16-bit sRGB PSD); Editor button in the top bar; own name, icon, settings and library folders; Spanish by default; HEIC enabled; one unified Map + Planner view; offline-volume handling; phone point-of-interest sync.
- PhotoCraft (
photocraft/): drawn inside the RAW Studio window (PhotocraftApp::embed), with RAW Studio's colors and fonts and floating panels; no title bar of its own, no Discord, no ArtCraft links or logos and no message on the start screen. - Removed from the published version: the ArtCraft logos and links, and LightCraft's packaging for Linux, Windows, FreeBSD, web and Nix, and its GitHub Actions workflows (they belonged to the original app).
Credits and license
RAW Studio exists thanks to two open-source projects and their authors:
- LightCraft, by the ArtCraft team and contributors:
MIT or Apache-2.0, at your option (
LICENSE-MIT,LICENSE-APACHE,NOTICE). - PhotoCraft, by the ArtCraft team and contributors:
MIT or Apache-2.0, at your option (
photocraft/LICENSE-MIT,photocraft/LICENSE-APACHE).
RAW Studio's changes and additions (© 2026 Luis Nieto) are released under the same license as
LightCraft: MIT or Apache-2.0, at your option. Bundled resources (fonts, icons, images) keep their
own licenses: full list in assets/ATTRIBUTION.md.
RAW Studio is an independent project: it is not made, sponsored or endorsed by the ArtCraft team or Adobe. Lightroom and Photoshop are trademarks of Adobe Inc.; they are named here only to describe what it is compatible with. AI models are not in the repository: each one is downloaded, when used, from its authors' page and under its own license, which the app shows before downloading.






