Scroll to navigation

megatools(1) megatools(1)


megatools - command line tools


megatools df [--free|--total|--used] [--mb|--gb|-h]
megatools ls [-e] [-h] [--header] [-l] [-R] [-n] [<remotepaths>...]
megatools test [-f|-d] <remotepaths>...
megatools export <remotepaths>...
megatools put [--no-progress] [--path <remotepath>] <paths>...
megatools mkdir <remotepaths>...
megatools mkdir /Contacts/<contactemail>
megatools get [--no-progress] [--path <path>] <remotepaths>...
megatools get --path - <remotefile>
megatools copy [-n] [--no-progress] --local <path> --remote <remotepath>
megatools copy [-n] [--no-progress] --download --local <path> --remote <remotepath>
megatools rm <remotepaths>...
megatools rm /Contacts/<contactemail>
megatools dl [--no-progress] [--path <path>] <links>...
megatools dl --path - <filelink>
megatools reg [--scripted] --register --email <email> --name <realname> --password <password>
megatools reg [--scripted] --verify <state> <link>


Megatools is a collection of programs for accessing Mega service from a command line of your desktop or server.

Megatools allow you to copy individual files as well as entire directory trees to and from the cloud. You can also perform streaming downloads for example to preview videos and audio files, without needing to download the entire file.

Megatools are robust and optimized for fast operation - as fast as Mega servers allow. Memory requirements and CPU utilization are kept at minimum.

You can register account using a megatools-reg(1) tool, with the benefit of having true control of your encryption keys.

Mega website can be found at ⟨⟩.

Megatools can be downloaded at ⟨⟩


Register and verify a new mega account
Show your cloud storage space usage/quota
List all remote files
Test for existence of files or folders
Create public links for remote files
Create remote directory
Remove remote file or directory
Upload individual files
Download individual files
Download file from a "public" Mega link (doesn’t require login)
Upload or download a directory tree


See megarc(5) for information about mega configuration file.

Each of the individual tools have help that can be accessed using --help parameter.


If you modify cloud filesystem from the website or from another computer, you’ll need to refresh your session cache. This can be done by using the --reload option to any tool, or by waiting for a cache timeout (default timeout is set to 10 minutes).

REMOTE FILESYSTEM filesystem is represented as a tree of nodes of various types. Nodes are identified by a 8 character node handles (eg. 7Fdi3ZjC). Structure of the filesystem is not encrypted.

Megatools maps node tree structure to a traditional filesystem paths (eg. /Root/SomeFile.DAT).

NOTE: By the nature of storage, several files in the directory can have the same name. To allow access to such files, the names of conflicting files are extended by appending dot and their node handle like this:


You need to be aware of several special folders:

Writable directory representing the root of the filesystem.
Trash directory where web client moves deleted files. This directory is not used by megatools when removing files.
Not sure.
Directory containing subdirectories representing your contacts list. If you want to add contacts to the list, simply create subdirectory named after the contact you want to add.
Directories representing individual contacts in your contacts list. These directories contain folders that others shared with you. All shared files are read-only, at the moment.


megatools(1), megarc(5), megatools-df(1), megatools-dl(1), megatools-get(1), megatools-ls(1), megatools-mkdir(1), megatools-put(1), megatools-reg(1), megatools-rm(1), megatools-copy(1).


Part of the megatools(1) suite of commands.


Report bugs to ⟨⟩ . Your message will end up in a public archive, so be careful what you say or send.


Megatools was written by Ondrej Jirman < ⟨⟩ >, 2013-2022.

Official website is ⟨⟩.

16 March 2023