To install VLC extensions on Linux, you download the extension file (usually a .lua script) and place it in the correct VLC directory, then enable it in VLC’s interface. The exact folder path depends on your Linux distribution and whether you installed VLC system-wide or as a flatpak, but the process takes only a few minutes.
What VLC Extensions Are
VLC extensions are small scripts, written in the Lua programming language, that add new functionality to the media player. They can do things like automatically fetch subtitles, download album art, control playback via a web interface, or integrate with online services. Unlike plugins, which are compiled and deeply integrated, extensions are simpler and easier to install—you just drop a file into the right folder.
Extensions are distinct from VLC’s built-in modules and from skins (which change the look). They run inside VLC’s Lua engine and can interact with the player’s interface, menus, and playback state. Most extensions are created by third-party developers and shared on forums or code repositories.
Finding the Correct Extension Directory
VLC looks for extensions in a user-specific directory, which is usually ~/.local/share/vlc/lua/extensions/ on modern Linux systems. However, the exact path can vary:
- Standard package installs (Debian, Ubuntu, Fedora, Arch):
~/.local/share/vlc/lua/extensions/ - Flatpak installs:
~/.var/app/org.videolan.VLC/data/vlc/lua/extensions/ - Snap installs:
~/snap/vlc/current/.local/share/vlc/lua/extensions/ - Older VLC versions (before 3.0):
~/.local/share/vlc/lua/extensions/was also used, but some guides mention~/.config/vlc/lua/extensions/for very old builds.
If you installed VLC from source or used a custom package, the path might be different. You can check by launching VLC, going to Tools > Preferences, and looking at the bottom of the window—it shows the configuration directory. The extensions folder is usually a subfolder of that.
Step-by-Step Installation
Here is the typical process for a standard installation:
- Download the extension file. It will have a
.luaextension, sometimes inside a ZIP archive. If it’s zipped, extract it first. - Create the extensions directory if it doesn’t exist:
mkdir -p ~/.local/share/vlc/lua/extensions/ - Copy the .lua file into that directory:
cp ~/Downloads/your-extension.lua ~/.local/share/vlc/lua/extensions/ - Restart VLC if it’s running.
- Enable the extension via View > Extension (or the Extensions menu in newer versions). Some extensions also appear under the Tools menu.
If you use Flatpak, the command would be:cp ~/Downloads/your-extension.lua ~/.var/app/org.videolan.VLC/data/vlc/lua/extensions/
Note that you may need to make the file executable, though most extensions work without that. If an extension doesn’t show up, try chmod +x your-extension.lua.
How to Enable and Use Extensions
After placing the file, restart VLC. Then look for the extension in the menu bar. In VLC 3.0, you’ll see View > Extension which opens a sidebar listing available extensions. In VLC 4.0 (if you’re using a nightly build), the interface is different—extensions are managed under the Tools or Plugins menu.
Some extensions have their own settings. You can usually find them in Tools > Preferences > Extensions or within the extension’s own dialog. For example, a subtitle-fetching extension might ask for your preferred language.
If an extension doesn’t appear, double-check the filename. VLC only loads files with a .lua extension, and the name must not contain spaces or special characters. Rename it to something simple like mysub.lua if needed.
Common Problems and Fixes
Extensions sometimes fail to work. Here are the most frequent issues:
- Wrong directory: The most common mistake. Verify the path by running
vlc --versionor checking the preferences window. - Missing dependencies: Some extensions require additional Lua libraries or external tools like
curlorwget. Install them via your package manager. - Extension not compatible with your VLC version: VLC 3.0 and 4.0 have different Lua APIs. Check the extension’s documentation for the required version.
- Permissions: If the file is owned by root or has restrictive permissions, VLC might not read it. Use
chmod 644 your-extension.lua. - Cache: VLC caches Lua files. If you updated an extension, delete the
~/.cache/vlc/folder (or the equivalent in your flatpak/snap directory) and restart.
If an extension crashes VLC, remove the file from the extensions folder and restart. It’s a safe way to disable it.
Extensions vs. Plugins vs. Scripts
It’s easy to confuse these terms. Here’s the difference:
- Plugins: Compiled C modules that add core features (like codecs). They require rebuilding VLC or using package manager.
- Extensions: Lua scripts that add user-facing features. They are loaded at runtime and can be installed by users.
- Scripts: Often used interchangeably with extensions, but in VLC context, scripts usually refer to Lua scripts that run in the background or as services.
Most things you find online as “VLC scripts” are actually extensions. The installation method is the same.
Where to Find Extensions
The official VLC website has a small collection of extensions, but the most active community is on the VideoLAN forums and GitHub. Search for “VLC Lua extensions” or browse the vlc-lua tag on GitHub. Popular extensions include:
- Subtitle downloader (e.g., opensubtitles by pedromartins)
- Album art fetcher (e.g., lastfm)
- Web interface (control VLC from your browser)
- Playlist exporter (save your playlist as HTML or text)
Always download from reputable sources, as scripts can contain malicious code. Read the code if you can—Lua is readable.
Frequently Asked Questions
Do I need to compile anything?
No. Extensions are pure Lua scripts, so you just copy them to the right folder. No compilation or development tools are needed.
Why doesn’t my extension show up in VLC?
Check the directory path, restart VLC, and ensure the file ends with .lua. Also, make sure VLC is version 3.0 or later—older versions have limited extension support.
Can I install extensions system-wide for all users?
Yes, but it requires root access. Place the file in /usr/lib/vlc/lua/extensions/ or /usr/share/vlc/lua/extensions/ depending on your distribution. However, this is not recommended because updates to VLC might overwrite them.
How do I uninstall an extension?
Simply delete the .lua file from the extensions directory and restart VLC. No other cleanup is needed.
Are extensions safe?
Most are, but they can contain code that accesses your filesystem or network. Only install extensions from trusted sources, and review the code if you’re concerned. VLC runs extensions with the same privileges as the user, so a malicious script could access your personal files.
Can I write my own extension?
Yes, VLC has a Lua API that you can use. The official documentation includes examples. Start with a simple extension that adds a menu item and prints a message.
Related
General steps for current mainstream versions; menus can differ by device and version. See the disclaimer or report an error.
More in this bed
- Fix Payday 2 Crash Issues on PC: A Step-by-Step Guide
- Remove a Remote Access Trojan from Windows PC
- Google Pixel & Pixel XL: How to Turn Off Snooze
- Facebook as AIM Messenger: Step-by-Step Guide
- iPhone 17 SOS Service Issue: How to Fix It
- Factory Reset HP Laptop Without Password: 2 Ways