FILCamera
OPEN-SOURCE ANDROID CAMERA

RAW capture.
Film, developed.

A native camera built around the original. Capture RAW, shape it with a spectral film and paper model, and return to the negative whenever you want.

ANDROID 10+ · ARM64 · OFFLINE BY DESIGN
PROCESSING / OVERVIEW36 MM / FILM
Diagram of RAW capture, film rendering and JPG output RAWJPGSCENE → FILM → PRINT
ORIGINAL RETAINEDRE-DEVELOPABLE
Camera2RAW capture
VulkanOn-device processing
DNGOriginals preserved
GPLv3Open-source code
01 / Capabilities

Built around the negative.

From the viewfinder to the darkroom, with a processing pipeline you can inspect.

01

RAW, from the sensor

Camera2 capture keeps the complete DNG. Supported rear cameras and calculated 35 mm equivalent framing give you control over the composition.

02

A film and paper model

A spectral pipeline derived from Spektrafilm models film exposure, development and printing, rather than adding a look only at the end.

03

A live starting point

Device-generated LUTs bring the selected color recipe into the viewfinder. Adjust the recipe without restarting the camera.

04

A Vulkan darkroom

RAW development and film rendering run on the phone’s GPU. Intermediate floating-point images remain GPU-resident.

05

Controls that matter

Exposure compensation, calibrated Kelvin white balance and tap-to-focus. Manual control availability depends on the camera HAL.

06

An original worth keeping

Browse, share and re-develop your captures. Save a new JPG version while keeping the original DNG for later.

02 / Pipeline

From sensor
to scan.

Color begins before the output image. RAW development prepares the scene; film and paper stages determine how it is rendered.

DEVELOPED ON YOUR PHONE
  1. Capture & retain

    Camera2 RAW → complete DNG original.

  2. Develop the scene

    Calibration and demosaic → framing, ProPhoto RGB and orientation.

  3. Expose & develop film

    Film response, DIR, grain, halation and film diffusion.

  4. Print & develop paper

    Print exposure, spectral filtration, print diffusion and paper response.

  5. Scan & save

    Output color processing → RGBA8 readback → JPG 95.

03 / Compatibility

Know your camera.

Open APIs make the pipeline possible. Device implementations determine what is available.

Android 10+Minimum Android
ARM64Packaged architecture
Vulkan 1.1GPU API
60 MPMaximum effective RAW pixels

RAW support is device-specific

Requires a supported Camera2 Bayer RAW mode. Lens access, physical stream combinations and manual controls depend on the device. Unsupported cameras are unavailable for RAW capture; JPEG capture is not substituted.

Rendering takes time

Full-resolution processing is serial and may take several seconds. Preview and final results are not identical. Device compatibility varies and needs validation.

Bring back your own negatives

DNG import currently accepts files carrying FILCamera’s embedded development record. It is not a general-purpose importer for arbitrary third-party DNGs.

Your originals need a backup

DNGs remain in app-private storage; saved JPGs are published to the system gallery. Export your originals before uninstalling. Gallery copies remain independent of the in-app library.

04 / Open source

Open code.
Local processing.

No account. No analytics. No advertising or network permission in the app. Capture and development happen on your device.

The film engine is derived from Spektrafilm Android and Andrea Volpato’s spektrafilm. FILCamera is an independent project. Explore the implementation, report a device issue, or build it yourself.

Original FILCamera code: GPL-3.0-only. Film profiles and derived LUTs: CC BY-SA 4.0. ICC profiles retain their own licenses.

Start with the original.

Find published builds and release notes on GitHub.