About the PKG viewer A .pkg file is a macOS installer package: the file a Mac's Installer app opens to put a program, driver, font or setting in place, often running a script or two along the way. Windows, Linux and ChromeOS have nothing that opens one, and on a Mac a double-click starts installing it. Often you only want to look: to see what a package would put on a Mac and what it would run before anyone installs it, or to take one file out of it, such as a manual, a font or a licence.
This page reads the package and lists its parts. The files it would install are packed again inside it, in a part called Payload: press Look inside on Payload and they are listed under the folders they would go to. It is free to use, with no account and no upload limit, and it runs entirely in your browser: nothing is uploaded, and while the page stays open, a feature you have already used keeps working offline.
What you can do See every part of a .pkg: its installer steps, its component packages and their files List the files a package would install, by pressing Look inside on its Payload Read its install scripts as text, without running them Read the Distribution and PackageInfo files, which say what it installs, where, and on which Macs Save one file, or all of them with their folders kept Open any file inside straight in the tool on this site that reads it, without saving it first What is inside a .pkg file? A .pkg today is one file, a XAR archive (its first four bytes are the letters xar!), holding a few parts with fixed names. This is what each one is for:
Distribution : the installer's plan, in XML. It names the product, lists the steps and choices Installer shows, says which macOS versions and processors it needs, and which component packages to install. A package made for downloading usually has one; a bare component package does not.Resources : the welcome page, licence, background picture and other text Installer shows on its way through.A folder ending in .pkg for each component package, holding the four parts below. A package with only one component may keep them at the top instead.PackageInfo : a short XML file with the component's identifier and version, where it installs (its install-location) and which scripts it runs.Bom : the bill of materials, a list of every file the package installs with its permissions and owner, in Apple's own binary format. On a Mac, lsbom prints it; here it can be saved, but is not shown as text.Payload : the files the package would install, packed as a compressed archive (gzip and cpio). Look inside lists them, with their folders relative to the install location.Scripts : the scripts Installer would run before and after installing (preinstall and postinstall, and any files they use), as another compressed archive. Look inside lists them, and View shows each as text.The list also shows [TOC].xml, the archive's own table of contents: the name, size and checksum of every part, and the certificates of a signed package.
How to open a .pkg file on Windows, Linux or a Chromebook Drop the .pkg on the box above, or click the box and choose it. Its parts are listed. Press View on Distribution or PackageInfo to read what it installs and where. Press Look inside on Payload to list the files it would install, or on Scripts to see what it would run. Back to the package takes you back to its parts. Press Save on a file to download it, or Save all to take everything, folders included. How to open a PKG file on a Mac Double-click it. macOS opens it in Installer, which shows the welcome and licence pages and installs it once you agree, usually after asking for your password. To see what it would install first, choose Show Files from Installer's File menu before going ahead. In Terminal, pkgutil --expand unpacks a package's parts into a folder without installing anything, pkgutil --expand-full unpacks Payload as well, and pkgutil --check-signature says who signed it.
Packages made by Apple Apple's own packages, such as macOS installers and system updates, often pack Payload a different way, called pbzx. This page lists those packages and their other parts, but cannot unpack a pbzx Payload, and says so when you press Look inside. The Payload can still be saved, and on a Mac pkgutil --expand-full unpacks it.
Other files called .pkg PlayStation games, updates and apps (PS3, PSP, PS Vita and PS4) come as .pkg files too, in a different format altogether. Drop one here and the page names it as a PlayStation package: what is inside is encrypted for the console, and this site does not unpack it. Old Solaris and Symbian packages are also called .pkg; this page does not open those.
Other ways to open a PKG file on Windows or Linux 7-Zip, which is free, opens .pkg files once installed, and opens the Payload inside as a second step; this page uses 7-Zip's own code, compiled to run in the browser, for the package itself. On Linux, bsdtar -xf unpacks a package's parts, and zcat Payload | cpio -i unpacks the files from a Payload.
Questions
Can I open a .pkg file on Windows 11? Yes, to see and save what is in it. Windows 10 and 11 cannot open a .pkg themselves, but this page can, in Edge, Chrome or Firefox, with nothing to install. A Mac program inside it will still not run on Windows.
Does opening a .pkg here install anything? No. The package is only read: nothing is installed and none of its scripts runs, which makes this a safe way to see what an installer would do before running it on a Mac.
How do I see what a .pkg will install, and where? Press Look inside on Payload for the files, and View on PackageInfo for where they go (install-location). Look inside Scripts too: anything the package runs while installing is there.
Does this check the package's signature? No. [TOC].xml shows the certificates a signed package carries, but this page does not check them. On a Mac, pkgutil --check-signature does, and macOS checks a package before installing it.
Can I convert a PKG file to a DMG or an EXE? No. A .pkg installs on a Mac and nowhere else. What you can do is save the files inside it from here; a Mac app among them still needs a Mac to run.
Why can't Look inside unpack my Payload? The page says which reason it is. A package made by Apple often uses pbzx, which this page cannot unpack (see above). A Payload of more than 512 MB is too big to unpack in a browser tab. Either way, the Payload can still be saved.
Is my .pkg uploaded? No. The package is read by this browser tab, with 7-Zip and libarchive compiled to WebAssembly, and nothing is sent anywhere.