Add your X3F file
Drop one or more .x3f files onto the converter above, or browse for them. They load into browser memory only — nothing is uploaded, so there is no size-based pricing and no server queue.
Developing a .x3f camera file into .pgm turns unprocessed sensor data into a finished image any app can open. Free, private, and validated — the file never leaves your browser.
Batch files can each use a different output. Nothing uploads for local conversions.
Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.Developing a .x3f camera file into .pgm turns unprocessed sensor data into a finished image any app can open. An .x3f file is a Sigma RAW photograph captured with a Foveon X3 sensor, which stacks three photodiode layers so every pixel location records red, green, and blue directly. That architecture makes .x3f fundamentally different from Bayer-pattern RAW files — there is no color mosaic to demosaic — and gives Foveon images their reputation for peculiar, film-like per-pixel sharpness.
A .pgm file is a Portable Graymap: a single-channel greyscale image storing one intensity value per pixel, with the maximum value declared in the header. It is the middle rung of the Netpbm ladder — richer than a one-bit bitmap, simpler than a colour pixmap. For this route the practical draw is raw samples in a declared range — no codec, no colour management, nothing to misinterpret and supports 16-bit depth, which most consumer formats do not — balanced against uncompressed, so files are large relative to PNG for the same data, which is worth knowing before you commit a large batch.
The practical trigger for this conversion is usually a mismatch: with .x3f, third-party support is the weakest of any major RAW format; Sigma Photo Pro is often the only full-fidelity path. Switching to .pgm buys you raw samples in a declared range — no codec, no colour management, nothing to misinterpret, which is why it is the better fit for machine vision and image-processing pipelines that operate on intensity alone. Because the conversion runs locally, trying it costs nothing but a few seconds of compute on your own machine.
| Aspect | Sigma RAW (.x3f) | Portable graymap (.pgm) |
|---|---|---|
| Format type | Lossless — every pixel or sample is preserved exactly | Lossless — every pixel or sample is preserved exactly |
| How it stores data | records three stacked layers per photosite, exploiting silicon's wavelength-dependent light absorption instead of a color filter array | p2 stores samples as whitespace-separated ASCII integers; P5 stores them as raw bytes |
| Strongest at | base-ISO landscape, product, and architecture work where Foveon detail shines | machine vision and image-processing pipelines that operate on intensity alone |
| Weak spot | third-party support is the weakest of any major RAW format; Sigma Photo Pro is often the only full-fidelity path | uncompressed, so files are large relative to PNG for the same data |
| Metadata | eXIF fields and Sigma's property lists are embedded in the container, but MakerNote conventions differ enough from Bayer vendors that generic tools extract less; ExifTool provides the most complete parsing | none beyond header comments. No colour profile, no EXIF, no acquisition metadata — anything an instrument recorded alongside the pixels has to travel in a separate file |
Drop one or more .x3f files onto the converter above, or browse for them. They load into browser memory only — nothing is uploaded, so there is no size-based pricing and no server queue.
Select .pgm in the output menu next to each file. The menu only offers targets this engine can genuinely produce, so if PGM is selectable, the route is real and validated.
Press Convert. A LibRaw WebAssembly decoder demosaics the sensor data in your browser and renders a developed image ready for export.
Each result is signature-checked before the download unlocks, so a failed encode can never masquerade as a valid PGM file. Outputs keep the original filename with the .pgm extension.
Since x3f is lossless-oriented and pgm is lossless-oriented, the conversion preserves the source content exactly as stored; no additional compression pass is applied beyond what .pgm itself requires.
Yes — the .x3f file is processed inside your browser tab and never uploaded. A LibRaw WebAssembly decoder demosaics the sensor data in your browser and renders a developed image ready for export. Close the tab and the file is gone from memory.
Standard in scientific and machine-vision toolchains — OpenCV, ImageMagick, MATLAB and Netpbm all read it — and absent from consumer software and browsers. Novus Convert decodes both ASCII and binary PGM locally, honours the declared maximum value when scaling to 8-bit output, and converts to the standard raster formats.
It depends on the content: p2 stores samples as whitespace-separated ASCII integers; P5 stores them as raw bytes. Convert one representative file first and compare before batch-processing a large set.
In .x3f, eXIF fields and Sigma's property lists are embedded in the container, but MakerNote conventions differ enough from Bayer vendors that generic tools extract less; ExifTool provides the most complete parsing. Re-encoding through the browser pipeline does not carry embedded metadata into the output, which doubles as a privacy scrub — check the exported file if you specifically need tags preserved.