{
 "id": "windows-portable-executable",
 "name": "Windows Portable Executable",
 "category": "other",
 "identifiers": {
  "extensions": [
   "exe",
   "dll",
   "cpl",
   "efi",
   "ocx",
   "scr",
   "sys",
   "lib",
   "acm",
   "drv",
   "ime",
   "mui",
   "tsp"
  ],
  "mime": [
   "application/vnd.microsoft.portable-executable",
   "application/efi"
  ],
  "puid": [
   "x-fmt/411",
   "fmt/899",
   "fmt/900"
  ],
  "wikidata": [
   "Q1076355"
  ],
  "magic": [
   {
    "offset": 0,
    "hex": "4d5a",
    "notes": "Windows Portable Executable"
   }
  ],
  "uti": [
   "com.microsoft.windows-executable"
  ],
  "signatures": [
   {
    "name": "Windows Portable Executable",
    "sequences": [
     {
      "position": "bof",
      "offset": 0,
      "pattern": "4d5a*50450000"
     }
    ]
   }
  ],
  "priority_over": [
   "x-fmt/409",
   "x-fmt/410"
  ]
 },
 "status": "writable",
 "summary": "A Windows Portable Executable (PE) is synonymous with a program or application that can potentially be run on Microsoft Windows. An executable is a file-format object that is compiled from source code files written in languages such as C, C++, Golang, or Rust among others. A PE is native to Windows and like other executables or programs, provided a means of distributing applications that performed a certain task or tasks for a specific operating system. Executables are compiled to a certain register width, e.g. 8-bit, 16-bit, 32-bit or 64-bit; which impacts the size of variables in memory, and may impact compatibilty on older or newer versions of an operating system, respectively. Executables might require external libraries or configuration to function and so the technical environment needed to run an executable should be documented and understood in order to preserve functionality over time and to protect future potential users of these files. The Windows Portable Executable format is used for the 'executable' component of a program, as well as external libraries such as dynamic link libraries (DLLs) other potential extensions are listed as '.acm, .ax, .cpl, .dll, .drv, .efi, .exe, .mui, .ocx, .scr, .sys, .tsp, .mun') (https://en.wikipedia.org/w/index.php?title=Portable_Executable&oldid=1182679182). Despite the name, PE files will not run on other operating systems such as MacOS and Linux. Application programs must be compiled to a specific operating system architecture to run on different environments, and PE files will have been compiled to a specific Windows architecture, e.g. 32-bit (fmt-899) or 64-bit (fmt-900).",
 "tools": [
  {
   "name": "FFmpeg",
   "url": "https://ffmpeg.org",
   "license": "LGPL-2.1-or-later / GPL-2.0-or-later",
   "open_source": true,
   "reads": true,
   "writes": false
  },
  {
   "name": "Apache Tika",
   "url": "https://tika.apache.org",
   "reads": true,
   "writes": false,
   "license": "Apache Software License 2.0",
   "open_source": true
  },
  {
   "name": "Courgette",
   "url": "http://dev.chromium.org/developers/design-documents/software-updates-courgette",
   "reads": false,
   "writes": true,
   "license": "BSD licenses",
   "open_source": true
  },
  {
   "name": "DLL2DEF",
   "url": "https://www.wikidata.org/wiki/Q107529066",
   "reads": true,
   "writes": false,
   "license": "2-clause BSD License",
   "open_source": true
  },
  {
   "name": "ExifTool",
   "url": "https://exiftool.org/",
   "reads": true,
   "writes": false,
   "license": "Artistic License / GNU General Public License, version 1.0 or later",
   "open_source": true
  },
  {
   "name": "flat assembler",
   "url": "https://flatassembler.net/",
   "reads": false,
   "writes": true,
   "license": "2-clause BSD License",
   "open_source": true
  },
  {
   "name": "IrfanView",
   "url": "https://www.irfanview.com/",
   "reads": true,
   "writes": false,
   "license": "freeware"
  },
  {
   "name": "Microsoft Developer Studio",
   "url": "https://www.wikidata.org/wiki/Q116940555",
   "reads": true,
   "writes": false
  },
  {
   "name": "PuriFile",
   "url": "https://purifile.com",
   "reads": true,
   "writes": false
  },
  {
   "name": "Q483132",
   "url": "https://www.wikidata.org/wiki/Q483132",
   "reads": true,
   "writes": false,
   "license": "Microsoft Software Assurance / proprietary license"
  }
 ],
 "projects": [
  {
   "name": "File Formats Wiki",
   "url": "http://fileformats.archiveteam.org/wiki/Portable_Executable",
   "kind": "wiki"
  },
  {
   "name": "Kaitai Struct: microsoft_pe",
   "url": "https://formats.kaitai.io/microsoft_pe/",
   "kind": "grammar",
   "license": "CC0-1.0"
  },
  {
   "name": "PRONOM x-fmt/411",
   "url": "https://www.nationalarchives.gov.uk/PRONOM/x-fmt/411",
   "kind": "format-doc"
  },
  {
   "name": "Wikidata Q1076355",
   "url": "https://www.wikidata.org/wiki/Q1076355",
   "kind": "wiki"
  }
 ],
 "provenance": {
  "sources": [
   "converters",
   "ffw",
   "kaitai",
   "pronom",
   "wikidata"
  ]
 },
 "updated": "2026-10-24",
 "aliases": [
  "Common Object File Format",
  "COFF",
  "EXE"
 ],
 "parsers": [
  {
   "engine": "kaitai",
   "url": "https://github.com/kaitai-io/kaitai_struct_formats/blob/master/executable/microsoft_pe.ksy",
   "license": "CC0-1.0"
  }
 ],
 "conversions": [
  {
   "to": "flac-free-lossless-audio-codec-1-2-1",
   "tool": "FFmpeg",
   "command": "ffmpeg -i in.acm out.flac",
   "fidelity": "partial",
   "losses": "Audio track only: the video is dropped.",
   "url": "https://ffmpeg.org"
  },
  {
   "to": "waveform-audio",
   "tool": "FFmpeg",
   "command": "ffmpeg -i in.acm out.wav",
   "fidelity": "partial",
   "losses": "Audio track only: the video is dropped.",
   "url": "https://ffmpeg.org"
  },
  {
   "to": "mpeg-1-2-audio-layer-3",
   "tool": "FFmpeg",
   "command": "ffmpeg -i in.acm out.mp3",
   "fidelity": "lossy",
   "losses": "Lossy re-encoding.",
   "url": "https://ffmpeg.org"
  },
  {
   "to": "ogg",
   "tool": "FFmpeg",
   "command": "ffmpeg -i in.acm out.ogg",
   "fidelity": "lossy",
   "losses": "Lossy re-encoding.",
   "url": "https://ffmpeg.org"
  },
  {
   "to": "mpeg-4-part-14",
   "tool": "FFmpeg",
   "command": "ffmpeg -i in.acm out.mp4",
   "fidelity": "lossy",
   "losses": "Re-encoded with lossy codecs by default; try `-c copy` to remux without re-encoding when the codecs fit the container.",
   "url": "https://ffmpeg.org"
  },
  {
   "to": "matroska-1-4",
   "tool": "FFmpeg",
   "command": "ffmpeg -i in.acm out.mkv",
   "fidelity": "lossy",
   "losses": "Re-encoded with lossy codecs by default; try `-c copy` to remux without re-encoding when the codecs fit the container.",
   "url": "https://ffmpeg.org"
  },
  {
   "to": "webm",
   "tool": "FFmpeg",
   "command": "ffmpeg -i in.acm out.webm",
   "fidelity": "lossy",
   "losses": "Re-encoded with lossy codecs by default; try `-c copy` to remux without re-encoding when the codecs fit the container.",
   "url": "https://ffmpeg.org"
  }
 ],
 "structure": [],
 "samples": [],
 "claims": [],
 "verification": []
}