New
Apps 1,158Makers 1,156This week 1,158
Promote your app−30%
2views in
the last 30 days

photographics

A layer-based photo editor for Android tablets. Layers, masks and retouching with the pen; opens...

Built with Claude Code

by andreasbartelmess · from DEGermany · added Oct 29, 2026
no ratings0 comments

photographics logo

photographics

A layer-based photo editor for Android tablets.
Layers, masks and retouching with the pen. Opens and saves PSD, TIFF and GIMP files with all their layers.

Website · Deutsch · Download · Contributing

This is an early preview (version 0.2). Most of it works, some things are missing or still change. Please keep a backup of important files. Feedback, bug reports and people who want to help build it are very welcome: open an issue or write to info@andreasbartelmess.de.

photographics on a tablet: a landscape photo with curves, hue/saturation and a film look as adjustment layers

Retouch on a tablet with a pen, then continue on the desktop with the same file. The user interface is currently German only; translations are one of the easiest ways to help.

Features

  • PSD/PSB read and write: layers, groups, all 27 blend modes (incl. pass through), pixel masks, clipping masks, adjustment layers (editable, in Photoshop's own format), text layers, smart objects, 8/16/32-bit and RGB/Grayscale/CMYK/Lab/Duotone/Indexed/Bitmap files. Unknown data such as layer effects is written back unchanged.
  • TIFF read and write, including Photoshop layers (in both Macintosh and IBM PC byte order): LZW/ZIP/PackBits, strips and tiles, 1–32 bit, RGB/grey/palette/CMYK/Lab, transparency, ICC profiles. Saved TIFFs open in Photoshop with all layers.
  • GIMP (XCF) read and write: layers with offsets, groups, masks, blend modes, guides, resolution and ICC profile; 8/16/32-bit integer and half/float/double, linear or perceptual (verified layer by layer against GIMP 3). Saved XCFs use perceptual blending, so GIMP shows them exactly like photographics.
  • Retouching: spot healing (PatchMatch), healing brush and patch (Poisson blending), clone stamp, red eye, dodge/burn/sponge, smudge, content-aware fill and optional on-device AI object removal (MI-GAN, LaMa) and upscaling (Real-ESRGAN). Nothing leaves the device.
  • Pen first: pressure, eraser end, side button = eyedropper, palm rejection, hover preview, two-finger undo; keyboard and mouse with Photoshop-style shortcuts.
  • Brush engine (F5): tip angle/roundness, shape dynamics, scattering, transfer (opacity/flow by pressure, fade, jitter), colour dynamics, all blend modes plus Behind/Clear, airbrush; 12 built-in presets and your own. Foreground/background colour (X, D) and swatch libraries with import/export of Photoshop .aco/.act, Adobe Swatch Exchange .ase and GIMP .gpl.
  • Layers like in Photoshop: masks linked or unlinked from their layer (chain icon), clipping masks (Ctrl+Alt+G, adjustment layers "affect only the layer below").
  • Non-destructive editing: 13 adjustment layer types (curves, levels, hue/saturation, colour lookup, …), free transform via smart objects, 24 filters with live preview.
  • Colour management: ICC engine (v2/v4, matrix/TRC and LUT profiles, all rendering intents, black point compensation – verified against Little CMS), document profiles, assign/convert to profile, CMYK/Lab PSDs converted through their embedded profile, soft proof with your print shop's ICC profile and gamut warning, export with embedded profile or converted to sRGB.
  • LUTs: .cube/.3dl colour lookup layers (saved as Photoshop Color Lookup layers), 10 built-in looks, export of your adjustments as a .cube LUT.
  • Large files: pixel data lives in native shared memory outside the Java heap, the undo history is swapped to a scratch disk like in Photoshop, and all heavy operations work in bands on all CPU cores. Zoomed-out display composites from per-layer mipmaps (48 MP: 0.3 s instead of 3 s), and transforming previews the smart object directly from its source. During live edits the layers below the edited one are cached, so each frame only composites the edited layer and those above it.
  • Crop and transform: aspect ratio presets, target size with resolution, thirds/golden ratio/grid overlays, straighten line, rotated and perspective crop; skew, distort and perspective in free transform (non-destructive on smart objects); rotate by any angle.
  • Guides and rulers: guides from the rulers, guide layouts, snapping and smart guides while moving; guides are kept in PSD (compatible with Photoshop and GIMP) and XCF.
  • Film looks: 15 film emulations (colour negative, slide, black-and-white incl. infrared, print film, instant film) as colour lookup layers.
Colour management Convert to profile ICC soft proof
Colour settings Convert to profile Soft proof

Install

Download the APK from the releases page: app-arm64-v8a-release.apk fits almost all current tablets and phones, app-universal-release.apk runs everywhere. Requires Android 8.1 or newer.

Build

Requirements: JDK 17+ (21 recommended) and the Android SDK (API 36). Android Studio works too (Open → this folder → Run).

./gradlew :core:test :core:memoryTest   # unit tests + memory stress test (192 MB heap)
./gradlew :app:assembleDebug            # debug APK
./build.sh                              # tests, then release APKs into dist/ (installs on a connected device)
./build.sh smoke                        # memory self-test on the connected device

build.sh expects the JDK in ~/Android/jdk and the SDK in ~/Android/Sdk unless JAVA_HOME_PHOTOGRAPHICS / ANDROID_HOME are set. Release builds are signed with the key from keystore.properties (create one with tools/create_release_key.sh; it is git-ignored), otherwise with the debug key.

Use release builds for testing performance – debug builds are several times slower on Android.

Project layout

core/   pure Kotlin/JVM, no Android dependencies – fully testable on the desktop
  image/      tiled pixel storage (native shared memory), parallel band processing, resampling
  doc/        document model: pixel, text, smart object, adjustment and group layers, masks
  render/     compositor with all Photoshop blend modes, groups, masks, clipping
  psd/        PSD/PSB reader and writer, action descriptors, adjustment/text/smart object blocks
  color/      ICC engine, colour transforms, built-in profiles, LUTs, soft proof
  adjust/ filters/ retouch/ tools/ selection/ history/ editor/
app/    Android UI (Jetpack Compose, Material 3), AI via ONNX Runtime
tools/  test data generators, reference scripts, device smoke test

The detailed German README describes every feature, the memory architecture and the PSD support matrix: README.de.md.

Testing with your own PSD, TIFF and XCF files

./gradlew :core:psdCheck -PpsdDir=/path/to/psds            # optional: -PpsdOut=report-folder -PpsdRoundtrip=false

Checks every PSD/PSB/TIFF/XCF in the folder (recursively): the image rendered by photographics is compared with the composite that Photoshop stores in the file (Maximize compatibility), and each file is written back as a PSD, read again and compared (round trip). The source files are only read; the report (report.html, report.csv) with side-by-side previews of every file that differs goes to core/build/psd-check. Please only attach PSDs to issues if you are allowed to share them.

Roadmap

No fixed dates, and the order may change. Suggestions are welcome.

  • Next: GPU compositing for smoother moving and transforming of large files; rendering layer effects (drop shadow, stroke, glow); English user interface
  • After that: liquify; gradient tool, magic wand and object selection; per-channel curves with histogram; custom fonts (TTF/OTF); autosave and crash recovery
  • Later: 16-bit editing; CMYK documents and export; display colour management; Linux (GNOME) and iPad

Help wanted

photographics is a one-person project so far. If any of this sounds like you, I'd be glad to hear from you:

  • Testing with real Photoshop files. PSD support has been verified with GIMP and ImageMagick, not yet with files from current Photoshop versions. The PSD check above produces a report you can share without sharing the files.
  • Translations. The UI strings are still in German and will move to Android resources.
  • GPU compositing. Moving and transforming layers still composites on the CPU.
  • Layer effects. Drop shadow, stroke and glow are kept in PSDs but not rendered yet.
  • Ports. Linux (GNOME) and iOS are planned; the core is plain Kotlin/JVM without Android dependencies.

Bug reports, PSD compatibility reports and pull requests are welcome, see CONTRIBUTING.md.

About

I'm Andreas Bartelmess. I work as a photographer, mostly for companies and restaurants, and a large part of that work happens afterwards in retouching. I started out in graphic design at the Glasfachschule Rheinbach and now study photography at FH Dortmund. photographics is something I build alongside client work. My photography: andreasbartelmess.de.

Retouching Colour lookup
Retouching tools on a studio photo Colour lookup tables on a night street

Photos in the screenshots: Janine Joles, Vitaly Gariev and Masahiro Miyagi on Unsplash.

License

photographics is free software, licensed under the GNU General Public License v3.0 or later. Third-party libraries, AI models and test data are listed in THIRD_PARTY_NOTICES.md.

Adobe and Photoshop are registered trademarks of Adobe Inc. photographics is an independent project and is not affiliated with, endorsed by or sponsored by Adobe.

Description taken from the repository README.

Ratings

–
0 ratings
5 0
4 0
3 0
2 0
1 0

Rate this app

Sign in to rate

Comments 0

Sign in to comment

No comments yet.

Related apps

#photo-editor · #mobile · #tablets