SUBMIT A FILE TYPE CONTACT US SUPPORT ABOUT US

What Is an E01 File? The EnCase Disk Image, and How to Open and Check One

E01 files are slices of a copy of a drive, and every slice checks itself with a hash. Jump to your question below, or work through it in order.

38 min read Updated October 2026 Checked against sources and tests

What Is an E01 File? One slice of a copy of a drive

Short answer

An E01 file is the first piece of an EnCase disk image. It stores an exact copy of a drive in the Expert Witness format, with the case details, a checksum for every 32 KiB chunk and a hash of the copy. Big images go on in E02, E03 and more files.

We made 15 E01 file sets and damaged 29 more. Free forensic tools read all 15 good E01 file sets and 7-Zip read none. A script of 67 lines found the same damage as ewfverify.

To open E01 files, read how to open E01 files. To check one, read the hash check. If yours will not open, start with the ten causes.

An E01 file is the first piece of an EnCase disk image. It stores an exact copy of a drive, the case details, a checksum for every 32 KiB chunk and a hash of the copy. Big images go on in E02, E03 and more files.

Picture a folder from a lawyer or an IT team. It contains evidence.E01, evidence.E02 and evidence.E03. You double-click evidence.E01 and nothing opens. E01 files are fine. They are not documents. They are slices of a copy of a drive.

The Library of Congress calls this family the Expert Witness Disk Image Format and says it is a family of disk image formats. An E01 file can store a drive, a volume or sometimes memory. Every section has its own header and its own checksum, and the data can be compressed and split across numbered files.

Forensics Wiki adds the numbers. The default chunk is 64 sectors of 512 bytes, which is 32 KiB. Checksums are Adler32 and not CRC. The file can also store an MD5 hash of the media, and EnCase 6 added the option of SHA1.

EnCase is the program that made the format famous. Wikipedia says Guidance Software built EnCase, first released it in 1998 and sold to OpenText in 2017. FileInfo names the same developer. Forensics Wiki says the first version was reportedly based on an earlier format from ASR Data.

Two claims that circulate online are wrong. E01 files are not encrypted, and EnCase is not the only program that opens them. Our E01 files showed Password: N/A, and Forensics Wiki lists AES 256 only for the newer Ex01 version. We opened all 15 of our E01 file sets with free tools, as the study section shows.

One more fact shapes this page. None of the six file type databases that we checked lists .e01. A browser or a server does not know what the E01 file is. The file command does, and it named all 15 of our E01 files by their first bytes.

Who sends you E01 files

E01 files come from people who copy drives. Examiners, IT teams and lawyers send E01 files because one set stores a drive, its case details and a hash. If E01 files reach you, they are a copy of someone else's drive. Treat E01 files with care until you know the sender, and read the safety section first.

Three questions start most readers off. Do E01 files open on your machine? Free disk tools open E01 files. Are E01 files complete? Count E01, E02 and E03, then check the hash. Are E01 files damaged? Only a hash check says so, and the damage tests show why.

E01 file facts at a glance

Quick facts about E01 files
Property Value
Meaning One segment of an Expert Witness Format disk image, the EnCase image.
Ending .E01 for the first piece, then .E02 to .E99, then .EAA, .EAB and on. Some tools write .e01 in lowercase.
Made by EnCase from Guidance Software, now OpenText. Also FTK Imager and the free libewf tool ewfacquire.
Starts with 45 56 46 09 0D 0A FF 00, the letters EVF and three control bytes.
Stores An exact copy of a drive in 32 KiB chunks, with case details and an MD5 hash.
Compression Deflate, or none. The newer Ex01 version adds bzip2 and AES 256.
MIME type None. The six databases we checked list no type for .e01.
Opens in EnCase, the free libewf tools and Sleuth Kit. 7-Zip 23.01 does not open it.
Safe to open Yes, as data. Open it read only and keep the first copy.

Wrong page? A .dd file is the raw kind of disk image, so read the DD file guide. Virtual disks have their own pages, like the VMDK file guide and the VHD file guide. For every kind of disk image, read the disk image guide.

What Is Inside an E01 File? Sections, chunks and a hash

An E01 file is a header, 32 KiB chunks and a hash. Every part has a checksum, so tools can name bad chunks. We checked 36 E01 files from 15 sets, and all 220 sections passed their checksums.

Every E01 file starts with 13 bytes. Eight of them are the signature 45 56 46 09 0D 0A FF 00 and two give the segment number. After that, the file is a chain of sections. Every section starts with a 76 byte description that names the section, points to the next one and ends with a checksum.

An illustration of one E01 segment, drawn as stacked bands that are not to scale. Band 1 is the 13 byte file header with the signature and the segment number. Band 2 is the case information, three text sections that store the case number, examiner, notes and dates. Band 3 is the volume section with the chunk size of 64 sectors of 512 bytes. Band 4 is the sectors section with 768 chunks, a table of their offsets and a second copy of that table. Band 5 is the end, with a data copy of the volume, the MD5 hash and the done marker.
One E01 segment from top to bottom. The bands are not to scale, and the sizes come from one of our files.
Sections of E01 files
Section What it stores
header and header2 The case details as compressed text. EnCase 4 added header2, and the file stores it twice.
volume The shape of the disk. It lists the chunk count, the sectors per chunk, the bytes per sector and the sector count.
sectors The chunks. In our fast set, 768 chunks took 326,853 bytes.
table The start of every chunk. It makes a chunk easy to find without reading the ones before it.
table2 A second copy of the table. A flipped bit in one table changed nothing in our 3 of 3 tests.
data A copy of the volume section. Every segment after the first starts with it.
hash The MD5 hash of the disk, in the last segment. EnCase 6 can add SHA1.
Endings The end of a segment. next means more segments follow and done means the image ends.

Forensics Wiki also names an error2 section. EnCase 3F added it to list the places that could not be read. None of our files has one, because our source disks had no bad sectors.

How the chunks work

The drive is cut into chunks of 64 sectors. A compressed chunk is stored as zlib data. A chunk that stays uncompressed is 32 KiB plus a 4 byte Adler32 checksum. Our 24 MiB test disk became 768 chunks, and the table lists where every one starts.

This is why E01 files are good evidence. A bad bit makes one chunk fail its checksum, and the tools report the 64 sector range. They do not throw out the other 767 chunks.

The case details in the header

The header stores the details that the examiner types in. ewfinfo prints them. The next listing shows one of our fast sets.

ewfinfo on one E01 file
$ ewfinfo good/evidence.E01
Acquiry information
  Case number:  case1
  Description:  e01 test
  Examiner name:  Neeraj
  Evidence number:  1
  Notes:  notes
  Acquisition date:  Wed Oct 21 14:00:09 2026
  System date:  Wed Oct 21 14:00:09 2026
  Operating system used:  Linux
  Software version used:  20140814
  Password:  N/A
EWF information
  File format:  EnCase 6
  Sectors per chunk:  64
  Error granularity:  64
  Compression method:  deflate
  Compression level:  good (fast) compression
Media information
  Media type:  fixed disk
  Is physical:  yes
  Bytes per sector:  512
  Number of sectors:  49152
  Media size:  24 MiB (25165824 bytes)
Digest hash information
  MD5:  a53b724acd8d3924e2868473e6ca39c3

The password line is a field and not protection. Our files say N/A. We did not test a file with a password set.

The hash at the end

The last segment stores the MD5 hash of the disk. A tool can read all the chunks, hash them again and compare. Our ewfx set also stored a SHA256 hash, and ewfinfo printed it only for that set. The hash check section shows how to compare.

The size is not the disk size. An E01 file is smaller than the disk when it is compressed. Our 24 MiB disk became 336,363 bytes with fast compression. Tools that read the first E01 file as a disk see that small size, and they see the wrong thing.

What Are E02, E03 and EAA Files? One image, many files

Big images split into segment files named E01, E02 and on. After E99 the names go EAA, EAB and so on. Keep every segment in one folder, because the tools find the next segment by its name.

A tool cuts an image into segment files so that every file stays below a size limit. The Forensics Wiki article says segment files were capped at 2 GiB through EnCase 5 and that EnCase 6 lifted the cap. The free tool ewfacquire cuts at 1.4 GiB unless you set another size with -S.

A row of four boxes named E01, E02, E03 and E04, and a naming strip. E01 stores the file header, case information, volume, chunks, tables and a next marker. E02 and E03 store a data section, chunks, tables and a next marker. E04 stores a data section, chunks, tables, the MD5 hash and the done marker. The strip shows E99 followed by EAA, and notes that our 105 MiB test set used 109 files from E01 to E99 and EAA to EAJ.
A big image becomes E01, E02, E03 and so on. Only the last segment stores the hash and the done marker.

Our four segment files came from a 24 MiB disk cut at 8 MiB. E01, E02 and E03 store 255 chunks apiece, and E04 stores the last 3 chunks plus the hash. Only E04 ends with done. The others end with next.

Two digits end at E99, so the names change to letters. We cut a 105 MiB file into 1 MiB segments and got 109 files. They go from E01 to E99 and then from EAA to EAJ. A tool that looks for numbers only would miss the last ten.

What the names mean to a tool

Name the first file and libewf tools look for E02, E03 and the rest in one folder. They match the name, so base name and letter case count. Every file also stores its own segment number inside the header. Our test with the names of E02 and E03 swapped still passed, because libewf reads that number.

A lowercase e03 is a different story. With only E01 named, the tools did not find it and 16,512 sectors went missing. With all four files named, the same set passed. The causes section lists the details.

What the last segment stores

The last segment stores the MD5 hash and the done marker. If it is lost, the E01 file set has no hash and tools report the last chunks as unreadable. In our test the lost E04 had 3 chunks, 192 sectors. They were empty, so all 4 test files still came back. On a full drive the same loss would cost needed data.

Rules for moving segment files

  1. Copy all the segment files, not only E01.
  2. Keep the base name and the ending as they are. Do not change E01 to .dd or to lowercase.
  3. Count the files. The numbers must have no gaps. E01, E02 and E04 means E03 is missing.
  4. Compare the file sizes with the sender. A cut file shows as a smaller size.
  5. Check the E01 file set with the hash steps before you work on it.

How Are E01 Files Made? Formats, compression and sizes we tried

Tools make E01 files from a drive or from a raw image. They cut the data into chunks, compress a chunk when that saves space, add the case details and finish with a hash. We made 15 E01 file sets with ewfacquire to see what the options change.

EnCase and FTK Imager make E01 files with menus. The free libewf tool ewfacquire makes them from the command line. We used it because we can repeat it, and the next listing shows one command.

Make E01 files with ewfacquire
ewfacquire -u -t evidence -f encase6 -c deflate:fast -S 1.4GiB \
  -e Neeraj -C case1 -N notes -D "e01 test" disk.dd

The -f option picks the format. The -c option picks the compression. The -S option sets the segment size. The other options fill in the case details that the header stores.

Formats we made

Formats written by ewfacquire
Option What ewfinfo said
ewf EnCase 1. The ending is .e01 in lowercase.
encase2 to encase5 EnCase 2, 4 and 5. We made three sets.
encase6 EnCase 6. The format most tools write now.
linen6 linen 6, from the Linux version of EnCase.
ftk FTK Imager. The ending is .E01.
smart The SMART ending is .s01. ewfinfo named the E01 file set FTK Imager.
ewfx EnCase 4 with a SHA256 hash. The first section is xheader.
encase7 EnCase 6 again. Our libewf has no Ex01 writer.

The same libewf tool wrote all 15 E01 file sets, so these are test files and not files from EnCase or FTK Imager. FileInfo's Ex01 page says the Ex01 version arrived with EnCase 7. We could not make one, and the page says so again in the format section.

What compression changes

Sizes of one 24 MiB disk as E01 files
Setting Size
The disk 25,165,824 bytes. A 24 MiB disk that is mostly empty.
Uncompressed 25,181,857 bytes in four segments. That is 16,033 bytes more, or 0.064 percent.
Empty blocks only 474,882 bytes.
Fast compression 336,363 bytes.
Best compression 251,557 bytes.
Random data, 8 MiB 8,395,070 bytes, with fast compression or none. The image is 6,462 bytes larger, or 0.077 percent.

The numbers depend on the disk. Ours is mostly empty, so it shrinks a lot. The random file shows the other end. A chunk that deflate cannot shrink stays as it is, and an E01 file is a little larger than the disk because of the checksums and the headers.

Disks that are not a multiple of 512 bytes

ewfacquire stores full 512 byte sectors only. We gave it a file of 1,000,000 bytes. It stored 999,936 bytes but hashed all 1,000,000, so ewfverify printed FAILURE on a set that was fine. Drives in the field are a multiple of 512 bytes. A test file is not, so cut it to a multiple of 512 first.

Copy live drives through a write blocker. We copied files and not drives, so we did not test a lab acquisition. Use a write blocker and the rules of your lab or your lawyer when a case depends on the copy.

What Did We Find in 44 E01 Sets? Free tools read all of them, and 7-Zip read none

We made 15 E01 file sets and damaged 29 more. Free forensic tools read all 15 good E01 file sets and matched the source disk. 7-Zip opened none, and qemu-img read all 15 as raw disks. No database lists .e01.

We wanted facts and not guesses, so we made the files ourselves. We cut a 24 MiB disk with an ext4 file system into 15 E01 file sets with ewfacquire and its formats and compression levels. Four test files are in the disk, and a file counts as returned only when its SHA256 matches the original.

The 15 sets come to 36 E01 files. We read them with the libewf tools 20140814, Sleuth Kit 4.12.1, 7-Zip 23.01, qemu-img 8.2.2 and the file command 5.45. Then we damaged the E01 file sets in 29 ways, as the section on damage shows.

44 E01 file sets we made
15 of 15 good E01 file sets read by libewf tools
0 of 15 good E01 file sets opened by 7-Zip
22 of 29 damaged E01 file sets flagged by ewfverify
What the tools did with 15 E01 file sets
Test Result
The file command Named all 15 E01 file sets EWF/Expert Witness/EnCase image file format, by their first bytes.
ewfinfo Read all 15 E01 file sets. It named the format EnCase 1, 2, 4, 5 or 6, FTK Imager or linen 6.
ewfverify Passed 14 of 15. The one failure is the ewfx set, where ewfverify prints its SHA256 hash wrong. The MD5 matched.
ewfexport to raw All 15 raw disks had the same SHA256 as the source disk.
ewfmount All 15 mounted disks had the same SHA256 as the source disk.
Sleuth Kit fls and icat returned all 4 test files, with the right hash, from all 15 E01 file sets.
7-Zip 23.01 Stopped with exit code 2 on all 15 E01 file sets.
qemu-img Named all 15 E01 file sets raw. It gave the size of the first file as the disk size, 328 KiB for a 24 MiB disk, and no error.
A grid of seven readers against six groups of E01 sets, 15 sets in all. ewfinfo opened 15 of 15, ewfexport 15, ewfmount 15 and Sleuth Kit 15. ewfverify passed 14 of 15, and failed the set with a SHA256 hash because of a printing bug in the tool. 7-Zip opened none of the 15. qemu-img named every set a raw disk, with the size of the first file.
Seven readers on 15 E01 sets we made. Free forensic tools read all of them, and 7-Zip and qemu-img read none.

The split is clear. Tools built on libewf read every set. Tools that do not know the format fail or guess. qemu-img is the risky one, because it says nothing is wrong.

What six databases say about the E01 ending

We looked up .e01 in six file type databases. They are Debian media-types 10.1.0, Apache httpd trunk, nginx master, shared-mime-info 2.4, Python 3.13 and mime-db 1.54.0. We added the disk image endings .iso, .img and .dd for company. The media type is the label that names a file type for a browser.

What six databases list
Ending Result
.e01, .ex01, .l01, .aff None of the six lists any of them.
.iso All six list it. Debian, Apache, Python and mime-db say application/x-iso9660-image. shared-mime-info says application/vnd.efi.iso and nginx says application/octet-stream.
.img Three list it. nginx and mime-db say application/octet-stream and shared-mime-info says application/vnd.efi.img.
.dd None of the six lists it.

The file command does better than the databases. libmagic 5.45 has a rule for the E01 signature, and it named all 15 of our sets. It printed only data for a stub that starts with the L01 signature, so it does not know the logical version.

The hash is the proof ewfexport made raw disks with the same SHA256 as the source in 15 of 15 E01 file sets. The copy was exact.
7-Zip cannot help 7-Zip 23.01 stopped with an error on all 15 E01 file sets. Do not use it to test an E01 file.
qemu-img says nothing It named every set raw and gave the size of the first file. A tool that reads a wrong disk without a warning is worse than one that fails.
The databases do not know it A server that shares E01 files needs its own line for the ending. Browsers will save the files and show none.

Read the study with care. It shows what free tools do with our files. Our E01 files come from libewf and not from EnCase or FTK Imager. We used one small disk, no lab drive, no Ex01 or L01 file, no encrypted file and no Windows or macOS program. We did not start the vendor viewers.

What Does Our Expert Say About E01 Files? A note from Neeraj Singh on checking the hash first

Check the hash before you do anything else with an E01 file. It takes seconds, and it shows you if the copy is the copy that was made. Every other step depends on that.

Neeraj Singh

Expert insight

“An E01 file is a copy that comes with its own proof. In our tests, free tools read all 15 E01 file sets, and ewfverify flagged every damaged E01 file set that changed the disk. So check the hash before you trust an E01 file, and keep the first copy untouched.”

Neeraj Singh Manager, Tech Support & Operations 19+ years fixing Windows and system errors

Why the hash comes first

Most tools open a damaged E01 file without a word. Sleuth Kit returned bad bytes for our flipped file data with no error. ewfexport finished with SUCCESS while it listed read errors above that line. A hash check is the one step that says a copy changed.

The check has a limit, and the damage tests show it. A pass proves that the chunks match the hash that was stored. It does not prove that the copy matches the original drive, because only the acquisition tool saw that drive.

Save the original. Keep the first copy of your E01 files, with its hash, in a place nobody edits. Work on a second copy. A repair writes new files, and your first set is the only proof of what the tool saw.

How Do You Open E01 Files? Free tools, Windows programs and viewers

Open E01 files with EnCase, with the free libewf tools or with Sleuth Kit. 7-Zip and qemu-img do not read them. In our tests, the libewf tools and Sleuth Kit read all 15 E01 file sets, and that makes them the safe free choice.

FileInfo's program list names six Windows programs, and the list has no Mac or Linux program. Filext names EnCase Forensic, OSForensics and EMBIRD. We tested on Linux, so the table marks what we tested and what we did not.

Programs that open E01 files
Program What it does
The libewf tools Free command line tools. ewfinfo, ewfverify, ewfexport and ewfmount read all 15 of our sets. FileInfo lists libewf as free.
Sleuth Kit Free. fls and icat list and extract files with -i ewf. mmls shows the partition table. It read all 15 E01 file sets and returned 4 of 4 files.
EnCase Forensic The paid program that made the format. FileInfo and Filext name it. We did not test it.
OSForensics, Mount Image Pro and SmartMount Windows programs that FileInfo lists. Filext also names OSForensics. We did not test them.
7-Zip Does not open E01 files. Version 23.01 stopped with exit code 2 on all 15 E01 file sets.
qemu-img Reads the first file as a raw disk of the same size and gives no error. Make a raw disk with ewfexport first.
SysTools and Freeviewer viewers Windows viewers for E01 files. We did not test them.

Open the first file and let your tool find the rest. If you name only E01, libewf tools look for E02, E03 and the others by name in one folder.

Open E01 files on Linux

Sleuth Kit lists the files in an image. The next listing shows our first set.

List the files in an E01 file
$ fls -i ewf -r good/evidence.E01
d/d 11:  lost+found
d/d 12:  docs
+ r/r 13:  report.txt
r/r 14:  hello.txt
r/r 15:  notes.txt
r/r 16:  photo.bin
V/V 6145:  $OrphanFiles

The numbers before the file names are inodes. icat -i ewf evidence.E01 16 writes photo.bin to the screen, so send it to a file with >. The mmls command lists the partitions when the disk has a partition table.

ewfmount shows the disk as one raw file named ewf1. The hash of that file matched the source disk in all 15 of our sets. We did not mount the file system on top of it.

Mount an E01 file as a raw disk
mkdir /mnt/ewf
ewfmount evidence.E01 /mnt/ewf
ls -l /mnt/ewf
sha256sum /mnt/ewf/ewf1

Open E01 files on Windows

  1. Copy all the segment files into one folder. Keep their names.
  2. Choose a program that lists E01 files. the FileInfo page names EnCase Forensic, OSForensics, Mount Image Pro and SmartMount.
  3. Add the first file, E01. The program finds the other files by name.
  4. Check the hash first, as the check steps shows.
  5. If you need a viewer for the email inside, use one from the viewer part.

We did not test any Windows program. Free viewers and trials limit what they show, and the vendors state their own limits.

Open E01 files on a Mac

FileInfo lists no Mac program for E01 files. We did not test a Mac. If you have E01 files and no program, the safe route is a Linux or Windows machine with a tool from the table above.

View email in E01 files without EnCase

Viewers help when you need the email or files inside an E01 file and you do not own EnCase. Two Windows viewers come from the sites that this guide belongs to.

SysTools E01 Viewer

Opens E01 files and previews the email and files inside

Windows viewer

Freeviewer E01 Viewer

Opens E01 files without EnCase and previews PST, OST and EDB files

Windows viewer

SysTools says its viewer opens E01 files, reads PST, OST and EDB files inside them and makes CSV and TXT reports. Freeviewer says its viewer opens E01 files without EnCase and previews the same three mail types. Both pages also say there is no limit on file size. The two pages disagree with themselves on free versions, because one line says a free version is not available and another says free. Check the price on the vendor page before you download. We did not test either viewer, so treat every line as the vendor's own claim.

Viewers show, they do not repair. A viewer opens E01 files and leaves them alone. If E01 files are damaged, a viewer can still fail. The repair steps list the fixes in order.

How Do You Check an E01 File? Compare the hash, with a tool or a script

Check an E01 file with ewfverify or with our 67 line script. Both read every chunk and compare their computed MD5 with the MD5 stored in the file. On 29 damaged E01 file sets, both flagged the same 22 and passed the same 7.

A hash check takes one command. Put all E01 files in one folder, then use ewfverify. It reads the entire image, hashes it again and prints both hashes.

ewfverify on a good E01 file
$ ewfverify -q good/evidence.E01
MD5 hash stored in file:  a53b724acd8d3924e2868473e6ca39c3
MD5 hash calculated over data:  a53b724acd8d3924e2868473e6ca39c3
ewfverify: SUCCESS

A good set ends with SUCCESS and two equal hashes. A damaged one ends with FAILURE. The next listing shows our copy with one flipped bit in photo.bin.

ewfverify on a damaged E01 file set
$ ewfverify -q bad/evidence.E0*
ewfverify 20140814
Sector validation errors:
  total number: 1
  at sector(s): 46208 - 46271 (number: 64) in segment file(s): bad/evidence.E03
MD5 hash stored in file:  ef2aa4dd960c705ff1c0e85dfb1cc025
MD5 hash calculated over data:  b9736cbbb5bc17f000529d59a748b571
ewfverify: FAILURE

The sector range shows you where to look. The 64 sectors from 46,208 to 46,271 are one chunk, and ewfverify names its segment. The two hashes differ, so this copy is not the copy that was made.

Check E01 files with Python

The script below does the same job without libewf. It reads the segments in the order of their header numbers and checks every section checksum and both chunk tables. It then reads every chunk, hashes the data and compares the MD5. Save it as check_e01.py and give it the segment files.

Check E01 files with Python
import sys, struct, zlib, hashlib
SIG = bytes.fromhex('455646090d0aff00')
u32 = lambda b: struct.unpack('<I', b)[0]
files, notes = {}, []
for path in sys.argv[1:]:
    d = open(path, 'rb').read()
    if d[:8] != SIG:
        sys.exit(f'{path} is not an E01 segment: its first 8 bytes are wrong')
    files.setdefault(struct.unpack('<H', d[9:11])[0], []).append((path, d))
for n in range(1, max(files) + 1):
    if len(files.get(n, [])) != 1:
        notes.append(f'segment {n} is missing' if n not in files else f'two files claim to be segment {n}')
md5, bad, found, expect, stored, size = hashlib.md5(), [], 0, 0, None, 64 * 512

def read_table(body, limit, d):
    count, base = struct.unpack('<I4xQ', body[:16])
    if zlib.adler32(body[:20]) != u32(body[20:24]):
        raise ValueError('table header')
    if len(body) == 28 + 4 * count and zlib.adler32(body[24:24 + 4 * count]) != u32(body[-4:]):
        raise ValueError('table entries')
    ent = struct.unpack(f'<{count}I', body[24:24 + 4 * count])
    pos = [(e & 0x7fffffff) + base for e in ent] + [limit]
    return [(e >> 31, d[pos[i]:pos[i + 1]]) for i, e in enumerate(ent)]

for n in sorted(files):
    path, d = files[n][0]
    off, end, tab = 13, 0, None
    try:
        while True:
            kind = d[off:off + 16].rstrip(b'\0').decode()
            nxt, sz = struct.unpack('<QQ', d[off + 16:off + 32])
            if zlib.adler32(d[off:off + 72]) != u32(d[off + 72:off + 76]):
                raise ValueError(f'section {kind} descriptor')
            body = d[off + 76:off + sz]
            if kind in ('header', 'header2'):
                try: zlib.decompress(body)
                except zlib.error: notes.append(f'{path}: damaged {kind} section')
            if kind == 'volume':
                if zlib.adler32(body[:-4]) != u32(body[-4:]): notes.append(f'{path}: damaged volume section')
                expect, size = u32(body[4:8]), u32(body[8:12]) * u32(body[12:16])
            if kind == 'sectors': end = off + sz
            if kind in ('table', 'table2') and (kind == 'table' or tab is None):
                try: tab = read_table(body, end or off + sz, d)
                except Exception: tab = None
            if kind == 'table2' and tab is None: notes.append(f'{path}: both chunk tables are damaged')
            if kind in ('table2', 'next', 'done') and tab:
                for flag, raw in tab:
                    try:
                        if flag: data = zlib.decompress(raw)
                        else:
                            data = raw[:-4]
                            assert zlib.adler32(data) == u32(raw[-4:])
                    except Exception:
                        bad.append(found); data = b'\0' * size
                    md5.update(data); found += 1
                tab = None
            if kind == 'hash': stored = body[:16].hex()
            if kind in ('done', 'next') or nxt <= off: break
            off = nxt
    except (ValueError, struct.error) as e:
        notes.append(f'{path}: stops at byte {off} ({e})')
print('chunks found:', found, 'of', expect)
print('damaged chunks:', bad or 'none')
print('stored MD5:   ', stored or 'missing')
print('computed MD5: ', md5.hexdigest())
for x in notes: print('note:', x)
sys.exit(0 if not (bad or notes) and found == expect and stored == md5.hexdigest() else 1)

Here is what it printed for a good file, for the damaged copy and for a set that lost its last segment.

A good set
$ python3 check_e01.py good/evidence.E01
chunks found: 768 of 768
damaged chunks: none
stored MD5:    a53b724acd8d3924e2868473e6ca39c3
computed MD5:  a53b724acd8d3924e2868473e6ca39c3
One damaged chunk
$ python3 check_e01.py bad/evidence.E0*
chunks found: 768 of 768
damaged chunks: [722]
stored MD5:    ef2aa4dd960c705ff1c0e85dfb1cc025
computed MD5:  e9360814ba841396ddab09b6ee59960f
A lost last segment
$ python3 check_e01.py cut/evidence.E0*
chunks found: 765 of 768
damaged chunks: none
stored MD5:    missing
computed MD5:  ac95dceaa5a29bbf20efe5012b24f35b

Chunk 722 is the damaged chunk, and the hashes differ. In the last listing the stored MD5 is missing and the count reads 765 chunks of 768, because E04 is gone. The script also prints a note for a missing segment, a damaged header or volume section and a segment that stops early.

What the script and ewfverify found

Our checks on 44 E01 file sets
Set Result
Good sets The script passed all 15 good sets. ewfverify passed 14 and failed the ewfx set because of a SHA256 printing bug.
Damaged sets (29) With all files named, both flagged 22 and passed 7. The 7 are harmless damage, like a flipped bit in a chunk table, E02 and E03 with swapped names or 1 KiB of zeros at the end.
Changed ewfexport wrote a changed disk for 8 of the 29 E01 file sets when all files were named. ewfverify flagged all 8.

The script is a teaching tool and not an evidence tool. It reads EWF version 1 files that libewf wrote, and it fits in one page. It does not read Ex01 files, and we tested it only on our own sets.

Check E01 files again after every copy

Write the hash next to your E01 files in your notes. Check E01 files again after every copy, move or upload. E01 files that pass both times are the copy that was made, and E01 files that fail once need a new copy before anyone trusts them.

What a pass proves

A pass proves that chunks match the hash that the tool stored. It cannot prove that the copy matches the original drive, because only the acquisition tool saw that drive. If a lab log lists the acquisition hash, compare the two hashes. A copy with the same hash as the log is the copy that was made.

Hash a raw copy yourself

You can also make a raw disk with ewfexport and hash it. In all 15 of our sets, raw disks had the same SHA256 as the source disk. The convert section shows the commands.

A FAILURE can be a printing bug. ewfverify 20140814 printed FAILURE on our set that stores a SHA256 hash, and the MD5 matched. Read the two MD5 lines before you call a set damaged.

Are E01 Files Safe to Open? The file is data, and the drive inside is the risk

E01 files are data, so opening one starts no program inside it. The risk is in what the image contains, because a copy of a drive can include malware and private files. Open E01 files read only and keep the first copy untouched.

The ending says nothing about safety. An E01 file is a container, and the safety depends on the drive that went into it. The table lists what to check, and every row ends with its source.

What to check before you open E01 files
Check What to do and the source
The sender Open E01 files from people you know and from your own tools. An image is a copy of someone else's drive. Source: Our advice.
Read only Use tools that only read. After ewfinfo, ewfverify, ewfexport, fls and ewfmount, the four E01 files had the same hashes as before. Source: Our tests.
Contents The files inside came from a drive, and a drive can have malware. Do not start a program from the image on your own computer. Source: Our advice.
Deleted files The copy includes unallocated space and deleted data, so files that the owner deleted can still be in it. Source: Library of Congress.
Names in the header The header stores the examiner name, notes and the computer that made the copy. Do not post an image or its header in public. Source: Our tests.
Converter and upload sites E01 files can contain private data. Do not upload one to a site you do not know. Source: Our advice.

Why the password field is not a lock

The header has a password field, and ours said N/A. Forensics Wiki lists encryption for the Ex01 version only. We did not test a file with a password set, so do not count on a password to protect an E01 file. Anyone who has the file can try to read it.

Why the case details matter

The header names the examiner and the notes. Our test header named an examiner and case number that we typed in. Headers from cases can name people and cases. Before you send E01 files outside your company, read the header with ewfinfo and decide if the details can leave.

Do not trust a free E01 opener from search. Search results for E01 openers can come from anyone. Get a viewer from the vendor's own site, and read the guide to Windows EXE installers before you start any installer.

Why Will Your E01 File Not Open? Ten causes, and what to do about every one

Most E01 files that will not open fail for one of ten reasons. A missing or renamed segment is the most common cause we tested, and a damaged header or hash is the worst, because nothing opens. A flipped bit in the data opens fine and changes the disk.

We damaged our E01 file sets in 16 ways, 29 E01 file sets in all. Named by the first file, 11 sets would not open, 10 opened with a changed disk, 3 opened with warnings and an intact disk and 5 were fine. The figure shows what four tools said about every kind of damage.

A grid of sixteen kinds of damage against four results, 29 damaged E01 sets in all. Bit flips in file data made ewfverify fail and ewfexport warn about a changed disk, while Sleuth Kit returned 3 or 4 of the 4 test files and ewfrecover said the set was not corrupted. Flips in the header, the volume or the stored hash, a zeroed signature and a changed segment number kept every tool from opening the set. A flipped bit in a chunk table changed nothing. A deleted last segment made ewfverify fail but kept the files.
Sixteen kinds of damage on 29 E01 sets. Green is fine, amber is a warning and red is a failure or a changed disk.

There are two ways to name the files. Name only E01 and libewf finds the rest by name. Name every file and it checks that none is missing. With E02 gone, the first way opened a set with a hole, and the second way refused to open it.

ewfexport on a damaged E01 file set
$ ewfexport -u -t disk -f raw bad/evidence.E0*
ewfexport 20140814
MD5 hash calculated over data:  b9736cbbb5bc17f000529d59a748b571
Read errors during export:
  total number: 1
  at sector(s): 46208 - 46271 (number: 64) in segment file(s): bad/evidence.E03
ewfexport: SUCCESS

Read that listing slowly. ewfexport finds the read error and names the chunk, and it still ends with SUCCESS. That word means the export finished. It does not mean the disk is right. The numbers come from our copies, from the libewf tools and from Library of Congress and Forensics Wiki pages. The table lists ten causes.

Ten causes of E01 files that will not open
Cause Result and fix
A missing segment (1) With E02 gone, ewfverify named 32,832 unreadable sectors, Sleuth Kit could not open the E01 file set and ewfexport wrote a changed disk. When we named every file, nothing opened at all. Fix: Get the missing file. Do not rename another file to fill the gap.
A changed name (2) A lowercase e03 went unseen when only E01 was named, and 16,512 sectors went missing. An E01 file renamed to .dd was never found, because libewf wants an E01 style ending. Fix: Restore the names, or name every file.
A lost last segment (3) The hash and the last 3 chunks went with E04. ewfverify failed on all 3 of our cases. All 4 test files still came back, because the lost chunks were empty. Fix: Get E04 again. ewfrecover rebuilds the missing sections, not the data.
A damaged signature or number (4) A zeroed signature stopped every tool on 2 of 2 sets, and a wrong segment number stopped every tool on 1 of 1. Fix: Compare the first 13 bytes with a good file. The signature is 45 56 46 09 0D 0A FF 00.
A damaged header, volume or hash (5) No tool opened any of our 5 sets, and our script named the section. Fix: Get a second copy of the file.
A flipped bit in the data (6) ewfverify failed on all 6 sets. ewfexport ended with SUCCESS and a changed disk. Sleuth Kit returned 3 to 4 of the 4 test files and said nothing. Fix: Get a second copy. ewfrecover said the E01 file sets were not corrupted.
A damaged section link (7) One flipped bit in a link hid 16,320 sectors, and Sleuth Kit returned 1 of 4 files. ewfrecover rebuilt the E01 file set, and the hash was still wrong. Fix: Get a second copy.
A cut compressed file (8) Cut in half, the file opened, ewfverify named all 49,152 sectors and Sleuth Kit found no file system. Cut by 1 KiB, it did not open. Fix: Download it again.
A flipped bit in a chunk table (9) Nothing changed on 3 of 3 sets, because libewf uses the other copy of the table. Fix: None needed.
The wrong tool (10) 7-Zip stopped with an error on 15 of 15 E01 file sets, and qemu-img read them as raw disks without a word. Fix: Use the libewf tools or Sleuth Kit.

Repair steps in the order we would try them

We tested only libewf tools and Sleuth Kit. We did not test EnCase, FTK Imager or any vendor repair. These steps come from our tests.

  1. Copy all E01 files first and work on the copies.
  2. Count the files and read their names. The numbers must have no gaps, in uppercase.
  3. Use our hash check. Note the sector range, segment and stored MD5.
  4. If a segment is missing or cut, get it again from the sender. No tool can bring back chunks that are gone.
  5. If every file is there and the hash fails, ask for a second copy of the files that the sector range names.
  6. Use ewfrecover on a copy only, and only to rebuild lost sections. It cannot restore data.
  7. Check the result with the hash, and compare it with the lab log or the sender.

What ewfrecover did

ewfrecover is the repair tool in the libewf set. We used it on all 29 E01 file sets. It said the files were not corrupted on 11, could not open 11 and rebuilt a new set from 7.

In all 7 rebuilt sets the read errors went away. In 3 of them, the cut or lost last segment, the hash matched afterward. That happened only because the lost chunks were empty. In the other 4, the hash was still wrong. So ewfrecover makes the alarm quiet. It does not make the data sound.

What to send the sender or a helper

A short message gets a faster answer. Include the details below. Send the first bytes too, because they name the format in one line.

A message that gets an answer
Subject: E01 file will not open
Files: evidence.E01 to evidence.E04 (add every size in bytes)
First bytes: paste the first 13 bytes in hex
Tool: the name and the version, for example ewfverify 20140814
What happens: the exact words of the error
Hash: the stored MD5 and the one the tool computed

What no repair can fix

Chunks that are gone A cut or deleted segment takes its chunks with it. Only a new copy from the sender brings them back.
A flipped bit in the data The chunk fails its checksum, and no tool can know the right bytes. Only a second copy helps.
A damaged header or link A person with the format notes might rebuild a section. We did not test that, and a guess can be wrong.
A changed name Restore the name, or name every file to the tool.
A flipped bit in a table Nothing to fix. libewf reads the other table.
The wrong tool Use the libewf tools or Sleuth Kit.

Do not try random repair sites. A site that offers to repair any E01 file for free can keep the upload, and an E01 file can contain private data. Try the steps above first, and ask the sender for a new copy.

How Do You Convert an E01 File? Raw, virtual disks and single files

Convert E01 files to a raw disk with ewfexport. A raw disk is a DD file that every disk tool reads, and in our tests its SHA256 matched the source disk in 15 of 15 E01 file sets. From raw, qemu-img made VHD, VMDK, QCOW2, VDI and VHDX files that read back with the same hash.

There are two kinds of conversion. One makes another kind of disk image. The other pulls files out of the image. Choose by what you need next.

Conversions and what we found
Type Finding and source
E01 to raw (DD) Yes, with ewfexport. The raw disk had the same SHA256 as the source disk in 15 of 15 E01 file sets. Source: Our tests.
E01 to VHD, VMDK, QCOW2, VDI or VHDX Yes, in two steps. Make a raw disk, then use qemu-img. All five files read back with the same SHA256. Source: Our tests.
E01 to files Yes. fls and icat from Sleuth Kit returned 4 of 4 test files from all 15 E01 file sets. Source: Our tests.
E01 to another E01 ewfacquire can write a new E01 file from a raw disk, and we made 15 E01 file sets that way. ewfexport 20140814 wrote raw even when we asked for encase6. We did not use it for this. Source: Our tests.
E01 to PST, EML or other mail The SysTools and Freeviewer viewers say they preview PST, OST and EDB files inside E01 files. SysTools says it saves items in their original format. We did not test either one. Source: Vendor pages.

Convert E01 files to a raw DD file

The first command writes disk.raw. The second prints its SHA256. Compare it with the hash of the source if you have one. The next two commands make a VHD file and a VMDK file. We added force_size=on for VHD, because without it the size grows.

Make a raw disk and virtual disks from E01 files
ewfexport -u -t disk -f raw evidence.E0*
sha256sum disk.raw
qemu-img convert -f raw -O vpc -o force_size=on disk.raw disk.vhd
qemu-img convert -f raw -O vmdk disk.raw disk.vmdk

A raw disk matches the disk size, 25,165,824 bytes here. That is far larger than E01 files. Virtual disks fall between the two. The table shows sizes for our mostly empty disk.

One 24 MiB disk in six forms
Form Size
Raw disk (DD) 25,165,824 bytes. The size of the disk.
E01, fast compression 336,363 bytes.
QCOW2 917,504 bytes.
VMDK 655,360 bytes.
VDI 4,195,328 bytes.
VHD 6,295,552 bytes.
VHDX 16,777,216 bytes.

All five virtual disks read back with the same SHA256 as the raw disk. For the other formats, read the guides to VHD files, VMDK files and VDI files.

Pull files out of E01 files

Sleuth Kit lists the files and extracts them with the inode number. We used this on all 15 E01 file sets and got 4 of 4 test files with the right hash every time.

Extract one file from an E01 file
fls -i ewf -r evidence.E01
icat -i ewf evidence.E01 16 > photo.bin
sha256sum photo.bin

Make a smaller E01 file

Compression is the other direction. Our fast setting made the 24 MiB disk 336,363 bytes, and the best setting made it 251,557. The sizes section has the table. Random data does not shrink, so a drive full of video barely changes.

Convert email inside E01 files

Email needs a viewer, because the mail files live inside the disk. The viewer section names the two Windows viewers. Both vendors state their own limits, and we did not test them.

Keep the E01 files. A raw disk drops the case details and the stored hash. Hash the raw disk, write that hash in your log and keep E01 files as the original.

E01 or Ex01: What Is the Difference? Also L01, S01, DD, AFF and virtual disks

E01 is the version 1 image from EnCase. Ex01 is the version 2 image from EnCase 7, with more compression and encryption. L01 stores files and not a disk. DD is a raw copy with no header and no hash.

The names look alike, and the formats differ. The table lists the near neighbours. The last part of every row names the source.

E01 compared with Ex01, L01, S01, DD, AFF and virtual disks
Format What it is and the source
E01 EWF version 1, the EnCase image for a drive. It has chunks, checksums and an MD5 hash. Source: Library of Congress and our tests.
Ex01 EWF version 2, new in EnCase 7. It has about 20 sections, adds bzip2 and can use AES 256. The spec needs registration. Source: Library of Congress and Forensics Wiki.
L01 L01 and Lx01 are logical evidence files. They store chosen files with their names, times and paths and not the entire disk. L01 starts with LVF. Source: Library of Congress.
S01 The SMART version from ASR Data. ewfacquire wrote .s01 files, and ewfinfo called our set FTK Imager. Source: Library of Congress and our tests.
DD A raw copy with no header, no compression and no hash. Our guide covers it. Source: Our DD guide.
AFF Advanced Forensic Format, another image format. The Library of Congress says archives use E01 and AFF more than logical formats. Source: Library of Congress.
VMDK VMDK and VHD are virtual disks for virtual machines. We turned raw disks into both. Source: Our tests.

Which one do you need

You need proof Use E01. It stores a hash, and our tests show it flags damage.
You need any tool to read it Use a raw DD file. Every disk tool reads it, but it has no hash.
You need chosen files Use L01. It stores the files you picked with their names and times.
You need a virtual machine Make a VMDK or VHD file from a raw disk, as the convert steps shows.

E01 and DD differ on damage. A flipped byte in a raw DD file passes every reader, and only a hash finds it, as our DD page shows. An E01 file stores a checksum for every chunk, so ewfverify names the bad chunk.

Other things named E01

Filext's E01 page says some E01 files are self-extracting archives from the ARJ archiver, and that other E01 files use formats like an AccessData encrypted disk image. FileInfo lists no other meaning. We had no sample of either, so these are the sites' claims.

The first bytes settle it. An EWF file starts with 45 56 46 09 0D 0A FF 00, and the file command named all 15 of our sets by it. If your file starts with something else, it is not a version 1 image, whatever the ending says.

Why 7-Zip says no

People try 7-Zip on every strange file. 7-Zip 23.01 stopped with exit code 2 on all 15 of our E01 file sets. An E01 file is a disk image with its own chunks, and 7-Zip reads archives. Use ewfexport to make a raw disk, and then open the raw disk with a tool that reads disks.

What Is the E01 File Format Made Of? The facts we could check, and where they came from

E01 files are version 1 of the Expert Witness Format. No vendor publishes the spec, and public facts come from the Library of Congress, Forensics Wiki, FileInfo and our own checks of 44 E01 file sets. The rest of this section lists them.

Facts about the E01 file format
Part What we could check
Maker Guidance Software for EnCase, now OpenText. FileInfo names Guidance Software as the developer.
Kind Binary. A chain of sections, and every section ends in a checksum.
Signature 45 56 46 09 0D 0A FF 00 in a 13 byte header with the segment number. L01 starts with 4C 56 46 09 0D 0A FF 00.
Specification No vendor spec for version 1. The Library of Congress says Joachim Metz reverse engineered it between 2006 and 2010. The version 2 spec needs registration.
Chunks 64 sectors of 512 bytes by default. We also made a set with 128 sectors. Adler32 covers every chunk and every section.
Hash MD5. SHA1 arrived in EnCase 6. Our ewfx set stored SHA256.
Compression Deflate, with fast and best levels through EnCase 5. EnCase 7 has compressed or not. Ex01 adds bzip2.
Segments E01 to E99, then EAA and on. Capped at 2 GiB through EnCase 5.
Media type None in the six lists that we checked.
Detection The file command 5.45 names E01 files. It printed only data for an L01 signature.
Registries The National Archives has a record for the EnCase image, fmt/803. The Library of Congress gives L01 as fmt/804.
Other claimants Filext also lists ARJ archives and AccessData encrypted images.
Age EnCase first came out in 1998. The Library of Congress dates a trademark dispute with ASR Data to 1999 and the version 2 notes to 2012.

About the values we list

Facts about E01 files come from Library of Congress pages on the EWF family and on L01 files. They also come from Forensics Wiki's format page, Wikipedia's EnCase page, FileInfo and Filext. Our own checks of 44 E01 file sets and six databases add the rest. We read all sources in October 2026.

Where two sources differ, we say so. Wikipedia says the checks are CRC hashes for every 64 sectors, and Forensics Wiki says Adler32. We checked our files and the checksums are Adler32, so the page says Adler32.

What we left out

We did not start EnCase, FTK Imager or any Windows or macOS program. We made no Ex01, L01 or encrypted file, and we copied no lab drive. We did not start the vendor viewers, and we name no prices. An old claim of a 640 MB segment size is not in any source we read, so we left it out.

Our sets come from one libewf version and one small disk. The results show what free tools do with those files, and not what EnCase does.

Sources checked

For format facts, see the Library of Congress EWF family page, the L01 page and the Forensics Wiki entry. For the program, see the Wikipedia article on EnCase.

For extension facts and records, see FileInfo for E01, FileInfo for Ex01, the National Archives record and the Filext entry.

Every count and label came from the files and scripts in our research folder.

Frequently Asked Questions About E01 Files

What is an E01 file?

An E01 file is the first piece of an EnCase disk image in the Expert Witness Format. It stores an exact copy of a drive in 32 KiB chunks, with case details and an MD5 hash. Big images go on in E02, E03 and more files.

How do I open an E01 file?

Use EnCase, the free libewf tools or Sleuth Kit. The libewf tools and Sleuth Kit read all 15 of our test sets. Name the first file and tools find the rest by name. 7-Zip does not open E01 files.

Is an E01 file encrypted?

No. Version 1 files are not encrypted, and our files showed no password. Forensics Wiki lists AES 256 for the newer Ex01 version only. Do not count on the password field in the header to protect a file.

Can 7-Zip open an E01 file?

No. 7-Zip 23.01 stopped with exit code 2 on all 15 of our E01 file sets. An E01 file is a disk image and not an archive. Use ewfexport to make a raw disk, or open the file with a forensic tool.

What are E02, E03 and EAA files?

They are the next segments of the same image. A big image is cut into files named E01, E02 and on. After E99 the names go EAA, EAB and so on. Keep every segment in one folder with its name.

Why will my E01 file not open?

Check the segments first. A missing, renamed or cut segment is the most common cause we tested. A zeroed signature or a damaged header or hash section stopped every tool. Our table lists ten causes and fixes.

How do I check an E01 file?

Use ewfverify. It reads every chunk and compares its computed MD5 with the MD5 stored in the file. A good set ends with SUCCESS. A damaged one ends with FAILURE and names the sector range.

How do I convert an E01 file to a raw DD file?

Use ewfexport with the raw format and name the E01 files. In all 15 of our sets, the raw disk had the same SHA256 as the source disk. Then qemu-img can make VHD, VMDK, QCOW2, VDI or VHDX files.

What is the difference between E01 and Ex01?

E01 is version 1 of the format. Ex01 is version 2, new in EnCase 7. It adds bzip2 and can use AES 256, and its spec needs registration. We could not make an Ex01 file, so we did not test one.

What is the difference between E01 and DD?

A DD file is a raw copy with no header, no compression and no hash. An E01 file compresses the data and stores a checksum for every chunk and an MD5 hash. A flipped byte in a DD file passes every reader.

Is an E01 file safe to open?

Yes, as data. Opening an E01 file starts no program inside it. The risk is in the drive that went into it, which can include malware and private files. Open E01 files read only and keep the first copy.

Can a damaged E01 file be repaired?

Only in part. ewfrecover rebuilds lost sections, like the hash of a missing last segment. It cannot bring back lost chunks or fix a flipped bit in the data. In our tests it made the alarm quiet, not the data sound.

Still Stuck With an E01 File? Eight routes out, depending on what went wrong

Your E01 file will not open

Count the segments and check the names. The ten causes list what to try first.

Your set fails the hash check

Note the sector range and get a second copy. The repair steps show the order.

Is it a raw DD file? The page on DD files covers the raw kind of disk image.

Is it a virtual disk? See the guide to VMDK files and the guide to VHD files.

Do you want the big picture? The guide to disk images compares every kind.

Do you need the email inside the image? See the guide to PST files and the guide to OST files.

Do you need an installer for a viewer? The page on EXE files explains the Windows installers.

Is it a file type you do not know? Browse the file extension resource library, or send it to us on the submit a file type page.