Read, browse, search, and extract files from Linux ext4, ext3, and ext2 SSDs, HDDs, and SD cards on macOS β 100% Free, Safe, and Kernel Extension-Free.
Features β’ Why Not Paragon? β’ Quick Start β’ Ways to Use β’ Search & Grep Engine β’ FAQ
Apple's macOS cannot natively read Linux ext4 filesystems. Traditionally, Mac users were forced to buy proprietary drivers like extFS for Mac by Paragon Software ($39.95) or wrestle with legacy command-line tools that break on modern macOS.
MacExt4 is a modern, free, open-source solution designed from the ground up for macOS Sequoia, Sonoma, Ventura, and Monterey on both Apple Silicon (M1/M2/M3/M4) and Intel Macs.
| Feature | MacExt4 (This Project) | Paragon extFS for Mac | ext4fuse |
|---|---|---|---|
| Price | 100% Free & Open Source | $39.95 / Mac | Free |
| Kernel Extensions (Kext) | Zero Kexts (100% Safe User-space) | Requires Kext / Reduced Security | Requires macFUSE kext |
| Apple Silicon M1/M2/M3/M4 | Native ARM64 Support | Supported | Hit-and-miss |
| macOS Sequoia / Sonoma | Fully Supported | Frequent update lag | Often broken by macOS updates |
| Dedicated Desktop GUI App | Yes (LinuxSSDReader.app) |
Menu bar / Preference pane | No (CLI only) |
| Native Finder Integration | Yes (via modern FUSE-T) | Yes | Yes |
| Fast Full-Disk Grep / Content Search | Yes (Real-time SSE Streaming) | No | No |
| In-File Text Viewer & Hex Dump | Yes (Cmd+F live search) | No | No |
| Streaming Folder ZIP Downloads | Yes | No | No |
| Filesystem Safety | Guaranteed Read-Only (Zero corruption risk) | Read/Write (risk on unmount) | Read-Only |
- Launches straight from Spotlight, Launchpad, or
/Applications. - Native macOS dark-mode interface powered by Cocoa WebKit.
- Built-in Touch ID / Admin Elevation for instant hardware SSD access without needing terminal permissions.
- Inside Files (Grep): Search for code, logs, passwords, or strings inside files across the entire drive.
- Extreme Performance: Utilizes direct inode lookup and sub-millisecond byte pre-filtering (370+ files/second).
- Live Progress Telemetry: Displays scanned vs. total files (
450 / 2,459 (18%)), current scanning file, live throughput (files/s), elapsed time, and matches count. - Instant Cancellation: Abort long recursive searches at any millisecond while retaining matches found so far.
- Mount your Linux ext4 SSD directly to your Desktop (
~/Desktop/LinuxDisk). - Open files in native Mac apps like VS Code, TextEdit, Preview, VLC, QuickTime.
- Drag and drop files from your Linux partition straight onto your Mac.
- Built with FUSE-T (uses NFS/SMB local loopback β zero kernel extensions, no System Integrity Protection disabling).
- Built-in syntax highlighting for Python, JavaScript, JSON, YAML, Rust, C/C++, Shell, Conf, and markdown.
- In-file search (Cmd+F) with hit highlighting, match counter (
1/14), and Previous/Next navigation. - Real-time 16-byte hex dump viewer for binary inspection.
- Stream and download entire nested Linux folders as standard
.ziparchives directly to your Mac.
- Opens drives with non-destructive, read-only block virtual streams.
- Absolutely zero chance of corrupting Linux superblocks, journal entries, or file inodes.
- macOS 12 Monterey, macOS 13 Ventura, macOS 14 Sonoma, or macOS 15 Sequoia.
- Apple Silicon (M1/M2/M3/M4) or Intel processor.
- Python 3.10+ (Homebrew or official Python).
git clone https://github.com/helloworldkr/MacExt4.git
cd MacExt4Run the automated build script to set up the environment and install /Applications/LinuxSSDReader.app:
chmod +x build.sh
./build.shOpen Linux SSD Reader from your Applications folder or Spotlight:
open /Applications/LinuxSSDReader.app- Connect your external Linux SSD, NVMe enclosure, USB drive, or SD card.
- Select your partition from the partition selector dropdown.
- If macOS restricts physical disk access, click β‘ Unlock Hardware Access (Touch ID) to elevate permissions with your fingerprint.
- Browse files, search text contents, preview documents, or download folders as ZIP.
Want your Linux drive to appear on your Mac Desktop just like a native Mac drive?
# Auto-detects connected ext4 disk and mounts to ~/Desktop/LinuxDisk
./mount_finder.sh
# Or mount a specific partition:
./mount_finder.sh /dev/disk4s2
# Cleanly unmount when finished:
./unmount_finder.shNote: Requires brew install fuse-t for kext-less Finder integration.
If you prefer running the web interface directly in Google Chrome, Safari, or Brave:
./run.shThen visit http://localhost:8080.
Fast command-line exploration and batch extraction:
# Detect and list all Linux ext2/ext3/ext4 partitions
./.venv/bin/python cli.py disks
# Inspect superblock metadata and partition state
./.venv/bin/python cli.py info /dev/rdisk4s2
# List files and directories
./.venv/bin/python cli.py ls /dev/rdisk4s2 /var/log
# Print file contents to terminal
./.venv/bin/python cli.py cat /dev/rdisk4s2 /etc/os-release
# Extract folder from Linux SSD to local folder on your Mac
./.venv/bin/python cli.py extract /dev/rdisk4s2 /home/user/Documents ./extracted_filesMacExt4 includes a specialized search engine built for fast disk scanning:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β³ Searching file contents for "DATABASE_URL"... β
β Scanned: 1,842 / 2,459 (74.9%) β’ Current: /app/config.py β’ Matches: 3 β
β Speed: 384.2 files/s β’ Time: 4.8s [ βΉ Stop Search ] β
β ββββββββββββββββββββββββββββββββββββββββββββββΊββββββββββββββββββ 74.9% β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Filename Search: Type in the search box to filter current folder, or toggle Deep Search to search recursively through all nested subdirectories.
- Inside Files (Grep): Check Inside Files (Grep) to search within the actual text content of all files.
-
Direct Inode Acceleration: Direct inode table lookups eliminate slow
$O(N^2)$ directory traversal. - Sub-Millisecond Byte Filter: Non-matching files are eliminated in microseconds using native C-level byte matching before string decoding.
macOS restricts raw block device access (/dev/rdisk*) for security. MacExt4 offers two seamless ways to access your physical hardware:
- Touch ID in GUI: Simply click the Unlock Hardware Access button inside the app. It prompts for Touch ID / administrator password and grants access automatically.
- Elevated Runner: Run
./run_privileged.shfrom Terminal to launch with temporary disk read privileges. - Manual: Run
sudo chmod o+r /dev/rdiskX(replaceXwith your disk number fromdiskutil list).
A: MacExt4 is completely free and open source. It reads ext2, ext3, and ext4 filesystems natively without kernel extensions or expensive subscriptions.
A: No. Unlike legacy solutions or kernel extensions, MacExt4 runs completely in user space. Your Mac's security settings and SIP remain untouched.
A: No. MacExt4 operates in 100% read-only mode. It never writes to the disk, modifies superblocks, or updates journal logs, ensuring your data is completely safe.
A: MacExt4 is intentionally read-only to guarantee zero data loss. Writing to ext4 on macOS without native kernel journaling carries severe filesystem corruption risks. To transfer files, copy them from the ext4 SSD to your Mac.
A: Yes. Any standard ext2, ext3, or ext4 partition from Raspberry Pi OS, Ubuntu, Debian, Fedora, Arch Linux, Linux Mint, or Steam Deck can be read directly.
A: Yes. You can open raw image files directly in the GUI or CLI without needing physical hardware.
- Ext4 Engine: Pure user-space block streaming parser supporting ext2, ext3, and ext4 with extents, 64-bit block numbers, and flexible inode sizes.
- Backend API: High-performance FastAPI server with Server-Sent Events (SSE) for real-time progress streaming.
- Desktop UI: Native macOS Cocoa WebKit container with dark-mode aesthetic and zero Electron bloat.
- Finder Integration: FUSE-T loopback architecture for kernel-extension-free filesystem mounting.
Distributed under the MIT License. Free for personal and commercial use.