Add your JPG file
Drop one or more .jpg 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.
Converting a .jpg image to .pgm re-encodes the pixels for a different balance of size, quality, and support. 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.Converting a .jpg image to .pgm re-encodes the pixels for a different balance of size, quality, and support. A .jpg file is a photograph or other continuous-tone image compressed with the JPEG standard, the most widely used image codec ever shipped. Nearly every camera, phone, and website produces or accepts .jpg files, which makes it the default interchange format for photos.
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 .jpg, every re-save re-compresses the image, so quality erodes across editing generations. 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 | JPEG image (.jpg) | Portable graymap (.pgm) |
|---|---|---|
| Format type | Lossy — discards detail it judges invisible to shrink files | Lossless — every pixel or sample is preserved exactly |
| How it stores data | compresses 8x8 pixel blocks with a discrete cosine transform followed by quantization, which is where detail is discarded | p2 stores samples as whitespace-separated ASCII integers; P5 stores them as raw bytes |
| Strongest at | publishing photographs on websites where file size and universal support matter | machine vision and image-processing pipelines that operate on intensity alone |
| Weak spot | every re-save re-compresses the image, so quality erodes across editing generations | uncompressed, so files are large relative to PNG for the same data |
| Metadata | carries EXIF (camera settings, GPS, orientation), XMP, and IPTC records in APPn marker segments, plus embedded ICC color profiles and thumbnails | 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 .jpg 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. Decoding and re-encoding happen on your device using the browser's native image pipeline and hand-tuned encoders.
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.
No new loss is introduced — since jpg is lossy-oriented and pgm is lossless-oriented, everything the .jpg file still contains is carried over exactly. What was already discarded by the original lossy encode cannot be recovered, though; converting to .pgm does not "restore" quality.
Yes — the .jpg file is processed inside your browser tab and never uploaded. Decoding and re-encoding happen on your device using the browser's native image pipeline and hand-tuned encoders. 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.
Larger, sometimes much larger. A lossless .pgm must store every pixel or sample the decoder produced, without the perceptual shortcuts .jpg used. Use this route for editing headroom, not for saving space.
In .jpg, carries EXIF (camera settings, GPS, orientation), XMP, and IPTC records in APPn marker segments, plus embedded ICC color profiles and thumbnails. 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.
Yes — the reverse route exists as a separate tool. Bear in mind that round-tripping .jpg → .pgm → .jpg is not a perfect undo when any lossy step is involved; keep your original if fidelity matters.