Kernir

Open LHA files on Mac

To open an LHA or LZH archive on Mac, use Kernir or the Mac's libarchive-based tar to inspect and extract supported files. Both .lha and .lzh names occur with this archive family. Kernir reads it but does not create LHA/LZH archives.

Recognize a legacy archive

You may encounter an LHA/LZH in an older software collection or when recovering documents saved with another system. The extension describes the archive family; it does not mean the programs inside will run on a modern Mac.

Different archives can use different header versions and compression methods. Kernir's project fixtures include stored lh0 data and compressed lh6 and lh7 examples. That is useful coverage, but not a promise that every historical variant or damaged file can be recovered.

The libarchive format list identifies LHA/LZH as a supported read format. Kernir's own output choices remain narrower than all formats a general archive library may know.

List and extract with Terminal

For Collection.lzh in Downloads:

cd ~/Downloads
tar -tf "Collection.lzh"
mkdir "LHA output"
tar -xvf "Collection.lzh" -C "LHA output"

Use your actual name, including .lha if that is its extension. The list lets you check the paths before extraction. Choose a fresh destination if LHA output already exists, because extraction can replace matching files.

This command relies on macOS's libarchive-based tar; a different tar implementation may not read LHA. Read the errors rather than assuming a folder containing a few files is the complete archive.

Open the archive in Kernir

The Mac download is coming soon. You can view the source and build instructions on GitHub. These steps describe the current app workflow.

Choose File › Open… (⌘O) and select the archive. Browse its folders, select the files you need and choose File › Extract… (⌘E). Keep the original layout if the documents or programs refer to nearby resources.

Kernir cannot save changes back into LHA/LZH. File › Save As… (⇧⌘S) can put readable contents into another supported format, such as ZIP, for easier sharing. Keep the original when historical filenames or metadata matter; converting formats is not a guarantee of preserving every archive-specific detail.

Check filenames and contents

Older archives may use a filename encoding that differs from current Unicode conventions. If characters look wrong, keep the original and check what system and tool created it before renaming everything. A successful decompression does not by itself establish that every filename was interpreted correctly.

Open an important extracted document and compare its content with what you expected. If a reader reports an unsupported compression method, try a reader that explicitly supports that variant or ask the sender to make a ZIP copy. Changing .lzh to .zip cannot convert the stored data.

For old software, separating extraction from execution is especially useful: you can recover documentation or artwork even when the original program needs an operating system or runtime that is no longer present on your Mac.

Download for Mac

Kernir.dmg, signed and notarized. Requires macOS 14 or later.

Related guides

App steps were checked against Kernir source code. Command examples were checked with test archives on Linux using libarchive and the named utilities, not in a new macOS session. Updated .

Buy me a coffee