Built-in Plugins

Motrix comes with three official plugins, already installed and already switched on. They rename your finished downloads, follow “download page” links to the real file, and give other plugins a shared way to turn media page links into file links. You can adjust or switch off each one from Plugins in the left sidebar.

Built-in plugins can be turned off, but they cannot be removed — they have no Uninstall button.

At a glance

PluginWhat it doesWhat you can change
Motrix Filename TemplateRenames each download when it finishes, following a template you writeThe template
Motrix Page ScraperNotices when a link opens a web page instead of a file, and downloads the file that page points toOn or off, and the largest page it will read
Motrix URL ResolverGroundwork that other plugins build on to turn media page links into file linksPreferred quality

Open Plugins, click a plugin, and you get four places to look: Overview, Settings, Access, and — behind the small scroll icon on the right — Logs. Anything you change under Settings is saved when you click Apply; Reset puts the defaults back.

Note

Two of the three — Filename Template and Page Scraper — are marked Needs review, and their Access tab shows a red Broad host access notice. That is expected. A download can come from any website, so neither plugin can be tied to a fixed list of sites. Both are built by the Motrix team and ship with the app.

Motrix Filename Template

Downloads often arrive named dl_38fa20b.zip or download.php. This plugin renames each file the moment it finishes, following one template you write once. The rename happens before the file is placed in your download folder, so the messy name never appears.

You write the template for the name part only. The extension is put back for you, which is why the default template, {{title}}, leaves files exactly as they were.

Placeholders

Anything in {{ }} is replaced with a value from the download.

PlaceholderBecomes
{{title}}The original filename without its extension
{{original}}The complete original filename, extension included
{{ext}}The original extension, without the leading dot
{{date}}The date the task was added, as YYYY-MM-DD
{{time}}The time the task was added, as HH-mm-ss
{{id}}The download task’s ID
{{host}}The hostname the file came from, such as www.example.com
{{domain}}The same hostname without a leading www.
{{urlPath}}The path part of the source link, decoded
{{createdBy}}How the task started: user, protocol, or api
{{meta.key}}A value another plugin attached to the task; nested keys such as {{meta.show.season}} work too

Dates and times your way

{{date}} and {{time}} accept a format after a colon — {{date:YYYYMMDD}}, {{time:HH-mm}}, or a mix such as {{date:YYYY/MM}}. The pieces you can use are:

TokenMeaning
YYYYFour-digit year
MMTwo-digit month
DDTwo-digit day
HHTwo-digit hour, 24-hour clock
mmTwo-digit minute
ssTwo-digit second

Filters

Add | after a placeholder to clean up its value. Filters can be chained left to right.

FilterEffect
trimRemoves spaces at the start and end
lowerMakes everything lowercase
upperMakes everything uppercase
slugProduces a lowercase, hyphen-separated name
truncate:NKeeps at most N characters
replace:"old":"new"Replaces every occurrence of one piece of text with another
default:"value"Uses value when the placeholder came out empty
pad:NPads the value on the left with zeroes until it is N long

Examples

Each row starts from Vacation Photos.zip, downloaded from www.example.com on 18 August 2026:

TemplateSaved as
{{date}} {{title}}2026-08-18 Vacation Photos.zip
{{date:YYYYMMDD}}-{{domain}}-{{title|slug}}20260818-example.com-vacation-photos.zip
{{meta.artist|default:"Unknown"|slug}}-{{title|slug}}unknown-vacation-photos.zip

The last one is the safe way to use a value another plugin may or may not have supplied: default fills the gap instead of leaving a stray hyphen.

The setting

SettingDefaultWhat it means
Filename template{{title}}The template for the name part. The original extension is kept for you.

Good to know

  • It applies to HTTP, FTP, and BitTorrent downloads.
  • Two-part extensions stay whole: .tar.gz, .tar.bz2, .tar.xz, .tar.zst, .tar.lz, .tar.lzma, .user.js, .min.js, .min.css, .d.ts, .d.mts, and .d.cts.
  • Characters that no filesystem likes — / \ < > : " | ? *, control characters, and invisible text-direction characters — become _. Names Windows reserves, such as CON or COM1, get an underscore in front. Trailing spaces and dots are dropped. The whole name is capped at 240 UTF-8 bytes, and the extension is never the part that gets cut.
  • Because / is one of those characters, {{urlPath}} arrives with its slashes turned into underscores.
  • If the template has a mistake — an unknown placeholder or filter, an unclosed {{, a filter missing its argument — Motrix renames nothing and keeps the original filename. The reason is written to Logs, so check there when a rename doesn’t happen.
  • Templates can be up to 512 characters long.

Motrix Page Scraper

Some “Download” buttons link to a web page rather than a file. Left alone, Motrix would faithfully save that page as a useless .html file.

When you add an HTTP download, this plugin first asks the server what is on the other end of the link. If the answer is an HTML page, it reads the page and looks for the first link ending in .zip, .tar.gz, .tgz, .rar, .7z, .exe, .dmg, .iso, or .pkg. Find one, and Motrix downloads that instead:

Link you added:      https://example.com/downloads.html
Link Motrix uses:    https://example.com/files/app-2.3.1.dmg

Settings

SettingDefaultWhat it means
EnabledOnWhether to look inside download pages at all
Max page size524288 bytes (512 KiB)How large a page may be before the plugin stops reading it. Any value from 4096 to 2097152.

Good to know

  • Direct file links are left completely alone. The plugin reads a page only when the server itself says the link is an HTML page.
  • It takes the first matching link on the page, and only looks at the first link of a task.
  • If the page won’t load, or holds no link of a supported type, your original link is used unchanged.
  • Every swap is recorded in Logs, old link and new link side by side — a good first stop when a download went somewhere unexpected.

Important

This is the plugin whose Access tab warns about Broad host access, and the warning is honest: a download page can live on any website, so the plugin’s permission cannot be narrowed. What it actually does is fetch the one link you added. If that trade isn’t for you, switch the plugin off — Motrix will simply download such links as-is.

Motrix URL Resolver

This one is groundwork rather than a feature you use directly. It gives site-specific plugins a shared way to turn a media page link into the file link Motrix should download, plus one quality preference they can all read.

Out of the box it recognizes exactly one site: Wikimedia Commons. Paste a link like https://commons.wikimedia.org/wiki/File:… and Motrix asks Commons where the original file lives, then downloads that instead of saving the web page. It is there as a working demonstration of the mechanism.

Important

Support for other websites comes from separate site-resolver plugins that you install yourself. Motrix does not ship resolvers for video-sharing sites, and having this plugin enabled does not add any. When no installed resolver recognizes a link, Motrix downloads it exactly as you typed it.

The setting

SettingDefaultWhat it means
Preferred quality720pWhich quality a site-resolver plugin should ask for: 1080p, 720p, or 480p

This is a request passed along to site-resolver plugins, not a guarantee. The built-in Wikimedia Commons resolver always fetches the original file, so the setting does nothing until you install a resolver that reads it.

How built-in plugins stay up to date

Built-in plugins carry their own version numbers and can update without waiting for a new Motrix release. Each update is a package signed by the Motrix team, and Motrix checks the signature before installing anything.

In the desktop app, open a plugin and look at the buttons to the right of its tabs:

  • The circular-arrow button is Check for updates.
  • When something is waiting, that button changes to Update to v…, and the plugin’s card in the list picks up an Update available badge.

Click it and Motrix installs the update. If the new version wants access the old one didn’t have, an Update builtin plugin dialog appears, lists exactly what changed under This update requests new access:, and waits for you to choose Install or Cancel. An update can never widen a plugin’s reach without you seeing it first. Afterwards you may be told Update installed. Restart Motrix to finish applying it.

Changed your mind? While a plugin is running an update it fetched on its own, an undo button sits beside it: Revert to bundled version brings back the copy that shipped inside your Motrix.

Note

These update controls belong to the desktop app. The Docker and server builds take their built-in plugins from the image, so updating them there means updating the image.

Next steps

  • Plugins — installing, reviewing, and managing plugins in general.
  • Troubleshooting — what to check when a download behaves unexpectedly.