The basics
What is a K25 file?
K25 is the picture format of a single camera, the Kodak DC25. Kodak announced it on 17 September 1996, in time for Photokina, at US$595. It had a 1/3-inch CCD, 2 MB of internal memory and a slot for CompactFlash cards, which made it one of the first digital cameras to use them. Pictures were 493 × 373 pixels at the high-resolution setting.
A K25 file isn't a JPEG with an unusual name. It holds the sensor's raw readings, one 8-bit value per photosite, plus a tiny ready-made thumbnail. Software on a computer had to turn the raw data into a picture. That makes K25 a very early camera raw format, long before the word was common.
What's uncertain
Kodak never documented K25. What's known comes from an independent description whose author says it may contain mistakes, and from LibRaw's decoder. Details beyond the header, thumbnail and raw data, such as the meaning of every header field and how the low-resolution mode is laid out, aren't confirmed by any source we could check.
Anatomy
What's inside a K25 file
Kodak never published the K25 format. This outline combines two independent reverse-engineered sources: a description of the DC25's file layout written at Otto-von-Guericke University Magdeburg from data read over the camera's serial cable (its author warns it may contain mistakes), and the source code of LibRaw, which decodes the files. They agree on the total size of a high-resolution file. Where they don't say what a byte means, we don't either. No real file is shown or offered.
DC0001H.K25 (high resolution): structure outline
offset size part
000000 4 bytes 4D 4D 00 2A: "MM" and 42, a TIFF-style header
000004 15,420 bytes header fields (image sizes, offsets, picture
name, date) and an 80 × 60 thumbnail stored
as plain RGB, 3 bytes a pixel (14,400 bytes)
003C40 124,928 bytes the raw sensor data: 244 rows of 512 bytes,
one 8-bit value per photosite
022440 end of file: 140,352 bytes in all- 1
4D 4D 00 2AA TIFF-style start
The same first four bytes as a big-endian TIFF. ExifTool also treats K25 as a TIFF-based format. That doesn't make it a normal TIFF image: TIFF viewers can't display it.
- 2
header fieldsSizes, offsets, name and date
The reverse-engineered description lists where the thumbnail and picture data start, the picture's name and its date, at fixed positions. Some of its fields aren't identified.
- 3
80 × 60 thumbnailA ready-made preview
A tiny picture stored as uncompressed red, green and blue bytes: 80 × 60 × 3 = 14,400 bytes. It's the only part of the file that's a finished image.
- 4
003C40: raw dataThe sensor readings
LibRaw starts reading at byte 15,424 (
3C40hex) and takes 244 rows of 512 one-byte values. It crops a one-pixel border, treats the data as a four-colour filter pattern, demosaics it, and corrects for non-square pixels so the picture comes out in the camera's 493 × 373 shape. - 5
end at 140,352Two sources, one answer
15,424 + 244 × 512 = 140,352 bytes, exactly the high-resolution file length the reverse-engineered description gives. LibRaw also handles smaller files, under 100,000 bytes, as a lower-resolution mode with 256-byte rows.
How to
How to open a K25 file today
Kodak's DC25 software is decades old and Kodak has left the camera business. The route that works today is LibRaw, the open-source raw decoder, which lists the DC20 and DC25 among its supported cameras; dcraw, the program LibRaw grew from, handles them too. In Python, the rawpy package wraps LibRaw:
# pip install rawpy imageio
import rawpy, imageio.v3 as iio
with rawpy.imread("DC0001H.K25") as raw:
print(raw.sizes) # raw and output dimensions
rgb = raw.postprocess()
iio.imwrite("DC0001H.png", rgb)LibRaw recognises the camera from the file's contents, so the extension doesn't matter. Mainstream photo apps, Apple Photos and browsers don't open K25 files. Expect a soft, small picture: that's the camera, not the conversion.
Troubleshooting
Why won't my K25 file open?
- The program has never supported it. Almost no image viewer does. Use a LibRaw- or dcraw-based tool.
- It opens as a broken TIFF. Some tools see the
MMheader and try to read a TIFF. The content isn't one; use LibRaw. - The file is the wrong size. A high-resolution K25 should be 140,352 bytes. A file that's much shorter may have been cut off when it was copied from an old card or disk.
- Colours are odd. Modern decoders only approximate Kodak's processing of 1996. Adjust white balance by hand after converting.
Archiving
Keeping old K25 pictures
If you've found DC25 pictures on an old disk or card, keep the K25 files unchanged and convert copies to PNG, which is lossless and opens everywhere, or to 16-bit TIFF if you plan to edit. The Library of Congress warns that proprietary raw formats risk losing software support in the long term, and K25, with one camera and one maintained decoder, is an extreme case.
Comparison
K25 vs KDC and JPEG
| K25 | KDC | JPEG | |
|---|---|---|---|
| Cameras | Kodak DC25 | Kodak DC40, DC50, DC120 and later raw-capable models | Nearly all |
| Contents | 8-bit raw data and a thumbnail | Raw data, or a picture | A finished picture |
| Documentation | Reverse-engineered only | Reverse-engineered only | Public standard |
| Opens in | LibRaw, dcraw | LibRaw and some raw editors | Everything |
For the other Kodak formats, see KDC and the professional DCR.
Privacy
Metadata in K25 files
According to the reverse-engineered description, a K25 file stores a picture name and a date. There's no location: the DC25 had no GPS. K25 files contain no scripts or macros.
Sample files
There are no sample K25 files on this page. Only the Kodak DC25 wrote them, so a real test file has to come from that camera or an old photo archive.
Put it online
Have a K25 file? Give it a link.
Drop a K25 file on 99helpers and it gets its own web address. Browsers can't display it, so anyone who opens the link downloads it; add a PNG copy if people just need to see the picture.
Questions
K25 files, frequently asked
What is a K25 file?
A picture from the Kodak DC25 digital camera of 1996: raw 8-bit sensor data and an 80 × 60 thumbnail in a file with a TIFF-style header.
How do I open a K25 file?
Use LibRaw or dcraw, or the rawpy Python package, and convert it to PNG or TIFF. Normal photo apps and browsers can't open it.
How do I convert K25 to JPG or PNG?
With rawpy: rawpy.imread('file.k25').postprocess() gives the pixels, which imageio can save as PNG or JPEG. See the example above.
Is K25 the same as KDC?
No. Both are Kodak formats, but K25 was used only by the DC25, while KDC came from the DC40, DC50, DC120 and later models.
How big is a K25 file?
A high-resolution picture is 140,352 bytes, according to a reverse-engineered description of the format. Lower-resolution files are smaller.
Is a K25 file a raw file?
Yes, in today's terms: it stores the sensor's values before colour processing, and software has to develop them into a picture.
Related formats
Other file types explained
Keep going
Related
Sources
- Digitalkamera-Museum: Kodak DC25 (1996)
- Otto-von-Guericke University Magdeburg: Kodak DC25 protocol and file format notes
- LibRaw: supported cameras (0.21)
- Wikipedia: Kodak DC series
- Library of Congress: Camera Raw formats
Last reviewed 27 October 2026.