Open source · Python 3.8+

Downloads,
in full flow.

A download manager for your terminal. Split files into parallel chunks, pick up where you left off, and keep your downloads moving.

$ pip install idm-cli

idm — live download
RUNNING
IDM-CLI terminal demo showing a multi-chunk download, live progress, and the saved file path
REAL TERMINAL OUTPUT8 PARALLEL CHUNKS
Built for your terminal
macOS Windows Linux
Files · video · audio

01 / What it does

Less waiting.
More getting done.

Small command. Serious download flow.

01

Parallel by design

Split supported files into 1–32 concurrent chunks. Start with 8 and tune it to your connection.

02

Resume right there

Interrupted? Run the same link again and continue from the saved progress.

03

Files and media

Download direct links or use yt-dlp support for video and audio from supported sites.

04

Queue it up

Add downloads to a queue and process them sequentially when you’re ready.

02 / The flow

One link.
Many lanes.

IDM-CLI checks the URL, prepares the download, and uses parallel byte ranges when the server supports them. Progress is saved so an interrupted download can continue later.

See how it works

RANGE REQUESTS → ONE FILE

Parallel download flow Four download ranges flow in parallel and join into one file.

03 / 60-second quickstart

Start your
first download.

Install IDM-CLI, paste a direct file link, and run it. You need Python 3.8 or newer. Some video formats need FFmpeg for muxing, and MP3 conversion requires it.

01Install from PyPIRECOMMENDED
$ pip install idm-cli
02Start a download
$ idm "https://httpbin.org/bytes/1024"

Install FFmpeg manually

macOSbrew install ffmpeg

Windowswinget install ffmpeg

Debian / Ubuntusudo apt install ffmpeg

Resume a download or queue one

Resume

Run the same URL again to continue a saved matching download.

idm "https://httpbin.org/bytes/1024"

Queue

Add a link with -Q, then type start queue in IDM-CLI.

idm "https://httpbin.org/bytes/1024" -Q

04 / Shortcuts

A few flags.
Your way.

idm "url" -c 16Use 16 parallel chunks
idm "url" -aDownload audio as MP3
idm "url" -QAdd a download to the queue
See all command-line options
-q <resolution>
Choose a video quality, such as 1080p.
-a
Download audio and convert it to MP3.
-v
Download video and audio without the quality prompt.
-Q
Add the URL to the download queue.
-c <number>
Set parallel chunks from 1 to 32; default is 8.
-f <filename>
Save the download with a custom filename.

05 / A straight answer

A download manager.
Not an antivirus.

IDM-CLI does not scan downloads for malware. Its URL check blocks specified literal private, loopback, link-local, reserved, and unspecified IP address categories and reserved hostnames, but it does not resolve DNS names or recheck redirect targets, so a redirect may still reach a private address. IDM-CLI avoids shell execution and verifies the checksum when it auto-installs FFmpeg. Keep your operating system’s antivirus enabled.

Read the security notes

06 / Good to know

Before you press enter.

Does it work on macOS?

Yes. IDM-CLI supports macOS, Windows, and Linux. Install FFmpeg with Homebrew if you need muxing or MP3 conversion: brew install ffmpeg.

Will every server use chunks?

Only when the server supports byte-range requests. If it ignores ranges, IDM-CLI falls back to a single download stream.

Which media sources work?

README examples include YouTube, Facebook, and Instagram. Supported formats depend on the source; IDM-CLI currently needs direct HTTP(S) media URLs, not HLS or DASH manifests.

Common troubleshooting

Chunks are not speeding things up

Parallel ranges depend on server support. If a server ignores range requests, IDM-CLI automatically uses one stream.

Media conversion fails

Install FFmpeg and make sure it is available on PATH, or use IDM-CLI’s automatic installer for supported operations.

Windows blocks the app

If Device Guard blocks the executable, run the Python module instead: python -m idm_cli.

More troubleshooting notes