DirectVobSub, better known as VSFilter, is the DirectShow subtitle renderer that draws SRT, ASS, VobSub and PGS files onto the picture, which is what makes subtitles finally appear in Windows Media Player and MPC-HC.
Subtitles that refuse to appear are almost never a broken video file.
They are a missing renderer - the component that draws text over the picture, which Windows does not ship.
DirectVobSub is that component, and it has been the default answer on Windows for roughly twenty years.
Check These Three Things Before Installing Anything
Most reports of missing subtitles turn out to be one of three things, and none of them need a download. Work through them first, because installing a filter will not fix any of them.
- The filename has to match. Your subtitle file must sit in the same folder as the video and carry exactly the same name apart from the extension, so Movie.mkv pairs with Movie.srt, and anything else is silently ignored.
- Subtitles have to be switched on in the player. In MPC-HC and MPC-BE that means the Subtitles menu, where a track must be selected as well as enabled.
- Your player has to use DirectShow. VLC renders subtitles with its own internal engine and ignores VSFilter completely, so nothing you install system-wide will change what VLC does.
If all three check out and there is still no text on screen, the renderer really is missing, and that is what the rest of this page is about.
What VSFilter Actually Does
Windows Media Player, MPC-HC and most other Windows players are built on DirectShow, which passes video through a chain of small components.
That chain has a splitter to open the container, a decoder to turn compressed frames into pictures, and a renderer to put those pictures on screen. Subtitle drawing is not part of it. Windows simply has no built-in step that composites text onto video.
DirectVobSub registers itself as that missing step. Once installed it inserts itself into every DirectShow graph automatically, finds the matching subtitle file, and paints the text onto each frame before the picture reaches your monitor.
The current build handles SRT, ASS and SSA, VobSub image subtitles as an IDX and SUB pair, PGS subtitles in SUP files, and WebVTT. Between them that covers essentially every subtitle file you are likely to download or rip.
What Changed in 3.0.0.891
This build comes from the actively maintained xy-VSFilter fork, packaged as an installer by the X Codec Pack project. The upstream release it is built from landed in May 2026, so this is current software rather than the museum piece the older reviews suggest.
The headline change is the rendering engine. Subtitle drawing now runs through libass 0.17.4, the same library MPV and FFmpeg use, which handles advanced ASS typography - blur, animation tags, complex positioning and karaoke timing - far more faithfully than the original VSFilter code ever did.
- libass 0.17.4 backend for ASS and SSA rendering, with correct handling of fonts embedded inside the subtitle file itself.
- Switchable render backend. You can now choose between the libass engine and the legacy VSFilter engine, and the interface shows which one is actually active.
- External CSRI backend support, which lets a third-party renderer plug in as the drawing engine.
- madVR compatibility fixes and corrected colour accuracy in the last few pixel columns, both carried over from the October releases.
If you last installed VSFilter years ago and gave up on ASS-heavy subtitles looking right, this is the release worth retrying.
XySubFilter Ships in the Same Installer
The installer places two filters, not one, and the second is easy to miss.
XySubFilter is an alternative renderer built for use with madVR. Instead of burning subtitles into the video frame on the CPU, it hands the subtitle data to madVR and lets the GPU composite it at display time, which keeps the text sharp at 4K instead of scaling it up along with the picture.
You only want it if madVR is your video renderer. To switch it on in MPC-HC, open Options, then Playback, then Output; in MPC-BE the setting lives under Options and then Subtitles.
Worth knowing
If you are not running madVR, ignore XySubFilter completely. It sits registered and unused, harms nothing, and VSFilter handles everything on its own. Installing madVR purely to use it is not worth the GPU load unless you already care about upscaling quality.
Where It Fits in a DirectShow Setup
DirectVobSub renders subtitles. It does not decode video, demux containers or open subtitle files as streams, and those distinctions matter when you are working out which component is actually missing.
For decoding and demuxing you want LAV Filters, which covers H.264, HEVC, AV1, VP9 and the common audio formats with hardware acceleration. It also handles subtitle tracks that are already embedded inside an MKV or MP4 container, which is a different job from loading a loose SRT off the disk.
For loading external subtitle files as a DirectShow stream there is MPC SubtitleSource, a source filter rather than a renderer. If your subtitles appear but the styling is ignored, that is this page's department, not that one's.
And for how the finished picture reaches the screen, MPC Video Renderer is the modern default on hardware that cannot justify madVR.
If assembling that yourself sounds like work, both the K-Lite Codec Pack and its Full variant bundle DirectVobSub with LAV Filters and MPC-HC in a single installer.
Our Codec Finder will tell you which pieces your files actually need before you install anything.
Burning Subtitles In With AviSynth and VirtualDub
VSFilter.dll is not only a playback filter. It doubles as a subtitle plugin for AviSynth and VirtualDub, which is how most people hard-burn subtitles into an encode.
Loading it in an AviSynth script gives you frame-accurate positioning and full ASS styling in the finished file, rendered by the same engine that draws them during playback. That consistency is the point: what you previewed is what gets encoded.
This is also the only route that works when the destination cannot display soft subtitles at all, which covers most smart TVs, older set-top boxes and anything playing from a USB stick.
If the Filter Does Not Register
The installer writes VSFilter.dll and XySubFilter.dll into System32 for 64-bit and SysWOW64 for 32-bit, then registers both with DirectShow. Occasionally that last step fails, usually because it was run without administrator rights.
Registering by hand takes one command. Open an elevated Command Prompt and run regsvr32 VSFilter.dll, adding the full path if the file is not in the current folder.
Match the architecture
A 64-bit player needs the 64-bit filter and a 32-bit player needs the 32-bit one. Registering only the version that matches your Windows build, rather than the one that matches your player, is the usual reason a filter appears installed but never loads.
Our guide on registering and unregistering DLL and AX filter files covers the whole process, including how to unregister cleanly when you want the filter gone.
When the Problem Is the Subtitle File
No renderer repairs a bad file. If the text appears as boxes or question marks the encoding is wrong, and re-saving it as UTF-8 fixes it in seconds.
If the timing drifts, that is in the file too. Subtitle Edit handles both, along with waveform-based syncing and batch conversion, and our guide to fixing out-of-sync subtitles walks through the common cases.
For a straight format swap without installing anything, the browser-based Subtitle Converter covers the usual pairs. The full Subtitle Tools section has the rest of the editors and extractors.
Who Should Look Elsewhere
If Windows Media Player is your only player and subtitles are your only problem, Local Subtitles for WMP is a more direct fix than a system-wide filter.
If you use VLC, nothing here applies. VLC carries its own subtitle renderer and never touches DirectShow filters.
And if you would rather switch players than install components, our comparison of the best media player for subtitles covers which ones handle ASS styling well out of the box. VobSub 2.23, the ancestor this filter grew out of, is still on the site for historical interest but should not be installed on a modern system.
Quick questions
Does DirectVobSub work on Windows 10 and Windows 11?
Yes. The vendor lists Windows 7 through 11 as tested, on both 32-bit and 64-bit, and the installer places the correct file for your architecture. The reviews further down this page asking about Windows 10 compatibility date from 2015 and refer to version 2.41.322.
Subtitles still are not showing after installing. What now?
Check the filename matches the video exactly and both sit in the same folder, then confirm subtitles are enabled in your player. Those two account for most cases. If you are using VLC, VSFilter is not involved at all.
Why do subtitles appear in the middle of the screen instead of the bottom?
ASS and SSA files carry their own positioning, and the filter honours it, which is why the override placement setting sometimes appears to do nothing. Aspect-ratio handling in Windows Media Player made this worse in older builds. The libass backend in 3.0.0.891 tracks script-declared positioning far more accurately than the engine those complaints were filed against.
Is it safe to install?
It installs two DLL files and registers them as DirectShow components. There is no adware or bundled software, and the uninstaller unregisters both cleanly. The source is public on GitHub.
Do I need this if I already have K-Lite or X Codec Pack?
No. Every K-Lite variant bundles DirectVobSub, right down to Basic, and X Codec Pack ships it as a component. Installing it separately on top adds nothing.
What is the difference between VSFilter and XySubFilter?
VSFilter draws subtitles onto the video frame using the CPU and works everywhere. XySubFilter hands them to madVR to composite on the GPU at display time, which looks sharper on high-resolution screens but only works if madVR is your renderer. Both are in this installer.
Can it burn subtitles permanently into a video file?
Yes, through AviSynth or VirtualDub, where VSFilter.dll loads as a subtitle plugin. That is the standard route when the playback device cannot display soft subtitles.
Will it work with Windows Media Player on 64-bit Windows?
Yes, provided the 64-bit filter is registered. A 64-bit player cannot load a 32-bit filter, which is the usual explanation when playback works but subtitles never appear. The installer handles both, but a manual registration only covers the one you ran.
Download DirectVobSub 3.0.0.891 and see whether it clears your subtitle problem, or tell us how you got on if you have already used it.
i found a bug in the application when using the combination of windows media player and extended screen to 4:3 from (General tap) choices... the text appears in the middle of the screen and nut in the bottom of the screen no matter how you try to change its position the (override placement ) choice in this matter,is not working as proper as it should.

Hey Richard I am trying to make it work but with no success...