Program file
ffmpeg.dll: an Electron app's media library, or a planted copy?
ffmpeg.dll is the audio and video library of Chromium, shipped by Electron and NW.js programs such as Discord, Microsoft Teams, Spotify and Visual Studio Code in their own folders. A copy next to such a program is normal. The name was also used for a trojanized library in the 3CX supply chain attack, so a copy in an odd place or an outdated program needs checking.
Prefer to check it yourself? The manual checks follow.
An ffmpeg.dll next to the .exe of a program you installed, surrounded by other Chromium files such as libEGL.dll, libGLESv2.dll and .pak files, belongs to that program. It is not a process: the program loads it to play sound and video. Every Electron or NW.js app has its own copy, so several copies of different sizes are expected.
The file carries no company name or description, so it cannot vouch for itself. In 2023 the genuine installers of 3CXDesktopApp delivered an altered ffmpeg.dll that loaded hidden code. A copy outside a program folder, next to a lone unknown .exe, or in a program its maker has warned about, is a real concern.
- Made by
- Built from the open source FFmpeg code as part of Chromium; shipped by each Electron or NW.js program's maker
- Description in the file
- None. The copies collected in a public DLL catalogue report no file version, company or description
- Shipped by
- Discord, classic Microsoft Teams, Slack, Spotify, Visual Studio Code, RPG Maker MV and MZ games and other Chromium-based programs. In Windows, only inside the Microsoft Edge WebView2 Runtime
- Genuine folder
- The program's own folder, next to its .exe, often under C:\Users\<you>\AppData\Local\<program>; for WebView2, under Microsoft\EdgeWebView\Application\<version>. Never in System32
- Size
- About 2 MB to 12 MB across the 6 copies in the public DLL catalogue, in 32-bit and 64-bit builds
- Signed by
- Depends on the program's maker. Check the signature and compare it with the program's .exe in the same folder
- Runs as a process
- No. It is a library loaded into the program that uses it
- Known abuse
- Trojanized inside the signed 3CXDesktopApp installers for Windows (CISA alert, 30 March 2023)
What ffmpeg.dll does
FFmpeg is a widely used open source library for audio and video. Chromium, the engine behind Chrome, builds a cut-down version of it as one file, ffmpeg.dll, holding the decoders and container readers a browser needs. Programs built on Electron or NW.js carry Chromium inside them, and with it their own ffmpeg.dll. Electron publishes a matching ffmpeg build with every release, and the NW.js documentation tells developers they can replace the bundled DLL with their own build to add codecs.
That design is why the file has no fixed identity. Each program's copy comes from its own Chromium release, carries no version or company fields, and may or may not be signed by the program's maker. A file with these traits that is loaded automatically from a program folder at every start is also an attractive target: whoever controls that file runs code inside a trusted, signed program.
About .dll files. A .dll file is a library: it cannot run on its own and is loaded into a program's process. It does not appear in Task Manager under its own name; Process Explorer shows which process loaded it.

How to check a copy of ffmpeg.dll
Four questions decide it: where the file is, what sits next to it, which program it belongs to, and whether that program is current. The version fields are empty on genuine copies, so they do not help, and a library never shows in Task Manager under its own name.
- List every copy and where it sits. Copies in the folders of programs you installed, such as AppData\Local\Discord, Microsoft VS Code or the EdgeWebView folder, are normal. Look closer at copies in Downloads, Desktop, Temp, C:\Users\Public or a folder you do not recognise.
Get-ChildItem -Path C:\ -Filter ffmpeg.dll -Recurse -ErrorAction SilentlyContinue | Select-Object FullName, Length, LastWriteTime - Look at what sits next to it. A genuine copy lives among the files of a Chromium build: the program's .exe, libEGL.dll, libGLESv2.dll, .pak files and a locales folder. An ffmpeg.dll beside a single unknown .exe and nothing else matches the way planted libraries are side-loaded by a trusted program.
- Compare the signature with the program's .exe. Run the command on the DLL and on the .exe in the same folder. When the maker signs its files, both should show Valid and the same signer. A NotSigned DLL is not proof of a fake, because not every maker signs it, but HashMismatch means the file was changed after signing.
Get-ChildItem "C:\path\to\folder" -Include ffmpeg.dll,*.exe -Recurse | Get-AuthenticodeSignature | Format-Table Path, Status, SignerCertificate -AutoSize - Check that the program is wanted and up to date. Find the program in Settings, Apps, Installed apps. If you never installed it, or it is an old build of an app whose maker has issued a security notice, as 3CX did, the copy needs replacing through the maker's fixed version, not just a scan.
- Compare the size and checksum. Use the file check on this page. The 6 copies in the catalogue range from about 2 MB to 12 MB. A match means the file was seen before in some program; no match is not proof of a fake, because each Electron and NW.js release builds its own copy.
These checks tell you whether the file fits the folder it is in. They cannot tell you whether the program's maker shipped a clean file, as the 3CX case showed. For that, the maker's security notices and an updated build decide.

Check your ffmpeg.dll
Choose the ffmpeg.dll you are unsure about. Its SHA-256 and SHA-1 checksums are calculated in your browser and compared with the 6 versions of the file known from a public DLL catalogue.
The file stays on your computer. Nothing is uploaded: the checksum is computed locally.
Do you need ffmpeg.dll?
Keep every copy inside the programs you use: without it the program stops at start-up or plays no media. A copy that failed the checks above belongs to something you did not choose, and the safe way out is to remove that whole program, not only the DLL.
- Leave the copies of your programs alone. An ffmpeg.dll in the folder of Discord, Teams, VS Code or the WebView2 runtime belongs there. Deleting it only breaks that program, and the program's installer would put it back.
- Uninstall a program you do not recognise. Open Settings, Apps, Installed apps, find the program the folder belongs to and uninstall it. If there is no uninstaller, as with copies dropped by a download bundle, delete the whole folder, not only ffmpeg.dll.
- Replace an affected program with the maker's fixed version. For a program named in a security notice, follow the maker's instructions: uninstall the affected build and install the version the notice names, or move to the replacement it recommends.
- Run a Microsoft Defender full scan. Open Windows Security, Virus and threat protection, Scan options, Full scan. Quarantine what it finds. Look at Protection history afterwards for anything found in Downloads, Temp, AppData or Public.
- Run the offline scan. Some malware hides while Windows runs. The offline scan restarts the PC and scans before Windows starts. It takes about 15 minutes.
Start-MpWDOScan - Check what starts with Windows. Open Task Manager, Startup apps, and Task Scheduler. After the scan, disable and remove entries that run a program from AppData, ProgramData, Temp or Public that you do not recognise.
Warning signs
| What you see | What it means |
|---|---|
| ffmpeg.dll next to a single unknown .exe, with no other Chromium files | Not a program's media library. It matches a side-loading set: a trusted .exe that loads whatever DLL sits beside it. |
| An ffmpeg.dll in Downloads, Temp, C:\Users\Public or outside any program folder | No program loads it there. Find out where it came from and scan. |
| The signature check shows HashMismatch | The file was changed after it was signed. It is not the maker's file as shipped. |
| The DLL is unsigned while the .exe beside it is signed by the maker | Worth a closer look, though some makers do not sign this file. Reinstall the program from its maker and compare again. |
| The program is an old build its maker has warned about | The library may be the problem even in the right folder, as in the 3CX case. Install the fixed version. |
| Several copies, each in the folder of a program you use | Normal. Every Electron and NW.js program ships its own copy. |
Documented abuse
One case is documented by a government security agency. It shows the risk is not a fake program, but a real program whose library was changed before it reached users.
| Malware | How it used the file | Source |
|---|---|---|
| 3CX supply chain attack (3CXDesktopApp for Windows) | The vendor's signed Electron installers carried a trojanized ffmpeg.dll in the program folder. When the app started, the altered library read encrypted code from d3dcompiler_47.dll in the same folder and ran it. CISA alert of 30 March 2023. | CISA |
A copy in the right folder, from a real program, is not automatically clean. Keep Chromium-based apps updated and follow their makers' security notices.
Known versions of ffmpeg.dll
A public DLL catalogue lists 6 versions of ffmpeg.dll, from 0.0.0.0 to 0.0.0.0, by Unknown. Its copies are uploaded by users and not verified, so a checksum match identifies the version, while the digital signature tells you whether the file is genuine. Even a genuine file clears only the file, not the folder: attackers ship genuine libraries next to a program they abuse, so where the copy sits still decides whether it is safe.
Every version with its checksums, and how to fix ffmpeg.dll errors on uGetFix
Questions people ask
Is ffmpeg.dll a virus?
No, the ffmpeg.dll inside Discord, Teams, Spotify, VS Code and other Chromium-based programs is a harmless media library. The name was abused in the 3CX supply chain attack, where a trojanized copy came with the vendor's own installer, so a copy in an unusual folder or an outdated program deserves the checks on this page. A copy among the files of a program you installed and keep updated is the program's own.
Why is ffmpeg.dll flagged by my security software?
Either the copy is really altered, or a detection rule written after cases like 3CX hit a clean file. Look at the folder in the alert. If it is the folder of a program you installed from its maker, reinstall that program and check whether the fresh copy is flagged again; if it is, report it to the maker of your security program. A flagged copy outside any program folder should stay in quarantine.
What was the 3CX ffmpeg.dll attack?
In March 2023 the Windows installers of 3CXDesktopApp, an Electron-based phone and chat program, were found to carry a trojanized ffmpeg.dll. The installers were signed by the vendor, so the file sat in the expected folder. When the app started, the altered library loaded encrypted code from d3dcompiler_47.dll beside it. CISA published an alert on 30 March 2023 and the vendor issued updated builds.
Why does ffmpeg.dll have no company or description?
Chromium builds ffmpeg.dll without the version resource that most Windows programs fill in, so Properties, Details shows empty fields. The copies in the public DLL catalogue all look like that. It is normal for the genuine file, which also means an empty Details tab proves nothing either way: the folder, the neighbouring files and the program decide.
Can I delete ffmpeg.dll?
You can, but the program it belongs to then stops at start-up or loses sound and video, and its next update or reinstall puts it back. Deleting a copy from a program you use gains nothing. If you found one in a folder you do not recognise, remove the whole program or folder and run a Microsoft Defender full scan instead of deleting only the DLL.
Why are there so many copies of ffmpeg.dll on my PC?
Each Electron or NW.js program ships its own copy, built for the Chromium release inside it, and some keep the previous version folder for a while after an update. Five such apps can mean five or more copies of different sizes. That is by design. What matters is that each copy sits among the files of a program you installed.
Is ffmpeg.dll part of Windows?
Not as a system file. The only ffmpeg.dll Microsoft ships with Windows sits inside the Microsoft Edge WebView2 Runtime, in its own version folder, for apps that use WebView2. A copy in System32 or SysWOW64 is not a Windows file and is worth checking: find out which program or download put it there.
Sources
- CISA: Supply Chain Attack Against 3CXDesktopApp (30 March 2023)
- NW.js Documentation: Enable Proprietary Codecs (ffmpeg.dll, bundled codecs, replacing the DLL)
- Electron releases on GitHub (a matching ffmpeg build published with every release)
- MITRE ATT&CK T1574.001: Hijack Execution Flow: DLL
- Microsoft Learn: Get-AuthenticodeSignature
Version data read on Oct 17, 2026.
Questions and experiences
Ask about this page: members and our editors answer. Reading is open; writing needs a free account.
…