Version 1.4.0 for Apple silicon, macOS Tahoe 26.4+

Download. In parallel.

MacGet is a free, open-source download manager for Mac. It pulls each file over up to 16 connections at once, backs off when a server pushes back, and resumes after a restart.

$brew install --cask suryansh-codes2209/macget/macget

Homebrew skips the first-launch warning. Install options

MacGet in 60 seconds
Jump to a chapter of the film:
  • 16
    connections per file
  • 2+
    networks at once, like Wi-Fi and your phone
  • 0
    analytics, accounts or telemetry
  • MIT
    licensed, free forever
MacGet - Free, open-source multi-threaded download manager for Mac | Product Hunt

What happens when you add a download

Three things MacGet does that a browser's single progress bar doesn't.

One file, up to 16 connections

MacGet asks the server for different byte ranges at the same time and writes each piece straight into place.

  • Files are cut into ~8 MB pieces, so a worker that finishes early takes the next one instead of waiting.
  • Near the end, the biggest unfinished piece is split in half so the last few megabytes don't crawl.
  • Servers that don't support ranges get one honest connection, not a fake speedup.
ubuntu-24.04-desktop-amd64.iso5.8 GB
DoneDownloading nowWaiting for a free worker

Backs off when a server pushes back

Downloads start at full speed. If a host starts refusing connections while still serving others, MacGet halves its worker count instead of hammering.

  • A Wi-Fi drop, where everything fails at once, is not blamed on the server.
  • The limit it learns for that host is remembered for 7 days, then forgotten.
  • You can see and clear learned limits in Settings ▸ Network.
  • Opens at16 connections, your setting
  • Host refuses some8 connections, halved
  • Next visit8 connections, remembered for 7 days

Quit anytime. It picks up where it stopped.

Progress is saved per piece, so a restart, a crash or a closed lid costs you nothing already downloaded.

  • If the file changed on the server, MacGet notices (If-Range) and restarts cleanly instead of stitching two versions together.
  • SHA-256 or MD5 checksums are verified before the file is moved into place.
  • The unfinished file stays hidden next to its destination until it's complete.
  1. Downloading3.6 of 5.8 GB
  2. Mac restartsprogress saved per piece
  3. Back onresumed at 62%, file unchanged

See exactly what each download is doing

Select a download to open the inspector: speed over time, every piece of the file, and how many connections are working on it.

The MacGet window with a download selected and the inspector open, showing a live speed chart, the file's piece map, and the connection breakdown.
A 5.43 GB transfer mid-flight, split into 256 pieces across 6 connections.
The inspector panel at full size: current speed with peak and average, the piece map with done, in-flight and pending counts, transfer totals, and the connection breakdown.
The panel at native scale.
Speed
Last 30 seconds
A live throughput curve with the peak and average beside it, updated four times a second.
Pieces
256 × 21.2 MB
The file as its real pieces, in order. Filled cells are done; outlined ones are downloading right now.
Connections
8 requested → 6 effective
If MacGet is using fewer connections than you asked for, it says why: your setting, a limit learned from this host, or a host that started refusing.
The MacGet download list showing completed, failed and in-progress downloads, with aggregate throughput in the side panel.
The queue itself — filterable by state, with aggregate throughput when nothing is selected.

Use Wi-Fi and your phone at the same time

Plug in a phone or a second network and MacGet can download one file over both — different pieces down each link, joined back into one file.

One file, two paths

Example
  • Wi-Fi58% of pieces
  • iPhone (USB)42% of pieces
ubuntu-24.04-desktop-amd64.iso
Piece 1 via iPhone (USB)Piece 2 via Wi-FiPiece 3 via iPhone (USB)Piece 4 via Wi-FiPiece 5 via iPhone (USB)Piece 6 via Wi-FiPiece 7 via Wi-FiPiece 8 via iPhone (USB)Piece 9 via Wi-FiPiece 10 via iPhone (USB)Piece 11 via Wi-FiPiece 12 via iPhone (USB)Piece 13 via Wi-FiPiece 14 via Wi-FiPiece 15 via iPhone (USB)Piece 16 via Wi-FiPiece 17 via iPhone (USB)Piece 18 via Wi-FiPiece 19 via Wi-FiPiece 20 via iPhone (USB)Piece 21 via Wi-FiPiece 22 via iPhone (USB)Piece 23 via Wi-FiPiece 24 via iPhone (USB)Piece 25 via Wi-FiPiece 26 via Wi-FiPiece 27 via iPhone (USB)Piece 28 via Wi-FiPiece 29 via iPhone (USB)Piece 30 via Wi-FiPiece 31 via iPhone (USB)Piece 32 via Wi-FiPiece 33 via Wi-FiPiece 34 via iPhone (USB)Piece 35 via Wi-FiPiece 36 via iPhone (USB)Piece 37 via Wi-FiPiece 38 via Wi-FiPiece 39 via iPhone (USB)Piece 40 via Wi-FiPiece 41 via iPhone (USB)Piece 42 via Wi-FiPiece 43 via iPhone (USB)Piece 44 via Wi-FiPiece 45 via Wi-FiPiece 46 via iPhone (USB)Piece 47 via Wi-FiPiece 48 via iPhone (USB)
via Wi-Fivia iPhone (USB)
Works with any link your Mac can see
  • Wi-Fi
  • Ethernet
  • iPhone over USB
  • Android over USB
  • USB / Thunderbolt adapters
  • No tuning

    Both links pull the next piece as soon as they're free, so the faster one naturally carries more.

  • A bad link only removes itself

    If a server rejects your phone's connection, that link sits out and the download carries on over the others.

  • One switch

    Off by default. Turn it on from the Connections button in the toolbar. Any proxy turns it off, so it never bypasses one.

And everything else you'd expect

Video, ebooks, torrents and logins all land in the same queue.

Click download in your browser. MacGet takes it from there.

The extension hands each download to MacGet with your cookies and referrer, so files behind a login keep working. The browser's own download is cancelled only once MacGet confirms it has the file — if MacGet isn't running, nothing changes.

Sent to MacGet with every capture, over a local channel only:

  • url
  • cookie
  • referer
  • userAgent
  • filename
  • size

The extension never contacts a remote server. Privacy policy

  • Opt-in

    Video and audio

    Paste a video page and pick quality and format. Uses the bundled yt-dlp and ffmpeg.

  • Free ebooks

    Search Project Gutenberg, the Internet Archive or your own Calibre/OPDS server, and queue a book in one click.

  • Off by default

    BitTorrent

    Magnets and .torrent files in the same queue, with seeding limits you set. MacGet never searches for torrents.

  • Downloads behind a login

    Basic, Digest and NTLM credentials are stored once, in the macOS Keychain.

  • Speed limits and priorities

    A global speed cap, per-download priority, retries, timeouts and HTTP/HTTPS proxies.

  • Sorted on arrival

    Finished files can move into category folders automatically, with name clashes resolved as “(2)”, “(3)”.

  • Copy a link, get a prompt

    MacGet notices a download link on your clipboard and offers to grab it.

  • Updates itself

    Sparkle checks for new versions and verifies each update's EdDSA signature before installing.

Under the hood, in four steps

Every download takes the same path. The architecture notes go deeper.

  1. 1

    Check the server

    Size, change markers, and whether it accepts byte ranges at all.

  2. 2

    Plan the pieces

    ~8 MB pieces, up to 16 workers, within any limit learned for this host.

  3. 3

    Download in parallel

    Workers steal pieces, retry with backoff, and fail fast on permanent errors.

  4. 4

    Verify and finish

    Checksum if you gave one, then move it into place under a unique name.

Get MacGet

Free and open source. Requires an Apple silicon Mac on macOS Tahoe 26.4 or later.

Homebrew

Recommended

One command. No Gatekeeper prompt, and brew upgrade keeps it current alongside the built-in updater.

$brew install --cask suryansh-codes2209/macget/macget

Installs Macget.app into Applications and clears the download quarantine flag, so it opens on the first try. No Homebrew yet? brew.sh

Download the app

MacGet isn't notarized (that needs a paid Apple account), so macOS asks once on first launch:

  1. 1Open MacGet. macOS says it can't check it for malicious software — click Done.
  2. 2Go to System Settings ▸ Privacy & Security and click Open Anyway next to Macget.
  3. 3That's it. Later launches and auto-updates open normally.

Questions

The docs go deeper, and the source code is always the final word.

  • Most either ignore byte-range support or open every connection they can and get throttled for it. MacGet opens as many connections as help, backs off on evidence when a host objects, and keeps its progress properly across launches.