General
PFlix RE-F*ckulator is a free Windows desktop app that renames, organizes, and manages your media library. It uses TMDb (The Movie Database) to correctly identify movies and TV shows, generates clean filenames that Plex and other media servers can read properly, and gives you deep integration with Sonarr, Radarr, and Prowlarr.
No. PFlix is a companion tool that works alongside Plex — not a replacement. It organizes and renames your files so that Plex can read them correctly. Think of it as the thing you run before Plex ever sees your files.
The file renaming and organization features work with any media server that follows standard naming conventions — including Jellyfin and Emby. Native Jellyfin integration (library scanning, metadata) is on the roadmap.
There is no catch. PFlix is free because it was built by a media hoarder for media hoarders. No subscription, no ads, no premium tier, no data collection. Download it and use it — forever.
Currently Windows 10 and Windows 11 (64-bit) only. macOS, Linux, and Docker builds are on the roadmap but not yet available.
Safety & File Handling
Yes, it's safe. PFlix previews every rename before it happens. Changes land in the Rename Queue where you review them individually and approve what you want. Nothing touches your disk until you explicitly tell it to. There is also a full history log of every completed action.
Yes. PFlix keeps a full history log of every rename it performs, stored in a local SQLite database. Open the History page to see every change — the original filename and the new filename, grouped by batch. You can undo an entire rename batch in one click and your files go right back to where they came from.
By default, PFlix renames files in place — it does not move them to different folders. Files stay exactly where they are, just with corrected names. Folder reorganization is a planned future feature.
No. PFlix does not collect telemetry, analytics, usage data, or crash reports. The only external API calls it makes are to TMDb for movie/show lookups, OpenSubtitles for subtitle downloads, and to your own locally-configured Sonarr/Radarr/Prowlarr/Plex services — all of which you control. Your library data and API keys never leave your machine.
Compatibility
No. The *arr integrations are completely optional. The core Movie Matrix renaming and TV library features work standalone against your local file system — no *arr stack required. The integrations just add extra power if you run them.
No account of any kind is required to use PFlix. If you want to connect it to your Plex server, you'll need your Plex authentication token — but this is optional and lives only on your machine.
Partially. The app itself runs offline — but TMDb lookups and subtitle downloads require an internet connection. If you're offline, the matching step won't work, but you can still use the Rename Queue with previously fetched results and access all locally-connected service features.
Basic anime support works through TMDb — most anime is listed there. However, anime file naming can be complex (absolute episode numbering, multi-season formats). Dedicated anime parsing improvements are on the roadmap.
PFlix recognizes all common video file formats: .mkv, .mp4, .avi, .mov, .wmv, .m4v, .ts, .m2ts, and more. It doesn't care what's inside the file — it works purely on filenames and folder structure.
Subtitles & OpenSubtitles
PFlix integrates with OpenSubtitles to automatically find and download subtitle files for your media. Once you've connected your OpenSubtitles account in Settings, PFlix can search for matching subtitles by movie/show title, year, and language. Matched subtitle files (.srt) are downloaded alongside your video files and named to match — so Plex and other players pick them up automatically. No manual hunting required.
OpenSubtitles (opensubtitles.com) is a free subtitle database with millions of subtitles in hundreds of languages. You need a free account to use the API. Sign up at opensubtitles.com, then go to your account settings to generate an API key. That key plus your username and password go into PFlix Settings → OpenSubtitles.
No. PFlix is subtitle-aware — it detects .srt, .sub, .ass, and other subtitle files in the same folder as your video, and renames them in sync. If your movie file becomes Interstellar (2014).mkv, the subtitle becomes Interstellar (2014).srt automatically. Your subtitles will never be orphaned after a rename.
OpenSubtitles hosts subtitles in hundreds of languages. You can configure your preferred subtitle language in PFlix Settings. PFlix will request subtitles in your chosen language when fetching from OpenSubtitles.
How-To: Connecting Your Services
Step 1: Open Sonarr in your browser and go to Settings → General. Copy the API Key shown at the top of that page.
Step 2: In PFlix, open Settings from the sidebar. Find the Sonarr section.
Step 3: Enter your Sonarr URL — e.g. http://localhost:8989 — including the port number. If Sonarr is on a different machine, use that machine's IP address instead of localhost.
Step 4: Paste your API key into the Sonarr API Key field. Click Save.
Step 5: Click the Sonarr tab in the PFlix sidebar. If everything is correct, your library will load. If it fails, double-check the URL (include http://) and confirm Sonarr is running.
Step 1: Open Radarr in your browser and go to Settings → General. Copy the API Key.
Step 2: In PFlix, open Settings from the sidebar. Find the Radarr section.
Step 3: Enter your Radarr URL — e.g. http://localhost:7878 — including the port.
Step 4: Paste your API key into the Radarr API Key field. Click Save.
Step 5: Click the Radarr tab in the PFlix sidebar to verify the connection. Your full movie library will appear once connected.
Step 1: Open Prowlarr in your browser and go to Settings → General. Copy the API Key.
Step 2: In PFlix, open Settings. Find the Prowlarr section.
Step 3: Enter your Prowlarr URL — e.g. http://localhost:9696 — including the port.
Step 4: Paste the API key. Click Save.
Step 5: Click Prowlarr in the sidebar. You can manage and add indexers directly from inside PFlix — no need to open Prowlarr's UI.
Step 1: Create a free account at opensubtitles.com if you don't have one.
Step 2: Log into your OpenSubtitles account, go to your profile settings, and generate a new API key.
Step 3: In PFlix, open Settings. Find the OpenSubtitles section.
Step 4: Enter your OpenSubtitles username, password, and API key. Set your preferred subtitle language (e.g. en for English).
Step 5: Click Save. PFlix can now fetch matching subtitles for your media and download them alongside your files automatically.
Step 1: Create a free account at themoviedb.org. Go to Settings → API and request an API key (choose "Developer" for the free tier). You can also use the newer Bearer Token from the same page — Bearer Token is preferred as it's faster.
Step 2: In PFlix, open Settings. Find the TMDb section.
Step 3: Paste your Bearer Token into the Bearer Token field (recommended), or your API key into the API Key field. Bearer Token takes priority if both are entered.
Step 4: Click Save. Movie Matrix and TV Library will now use your key for matching. Without a key, TMDb lookups will not work.
How-To: Settings Explained
Performance Mode controls how aggressively PFlix scans and matches your library. It has two main knobs:
Concurrency — how many files are matched in parallel at once. Higher = faster scan, higher CPU/RAM use. Lower = slower but gentler on your system.
UI Update Interval — how often the progress display refreshes during a scan. A lower interval (more frequent updates) feels snappier but uses slightly more resources. If you're scanning a 10,000+ file library, raising this interval keeps the app smooth.
For most users the defaults work fine. If the app feels sluggish during large scans, raise the concurrency limit slightly and increase the UI update interval.
The Construct is PFlix's template builder for Movie Matrix folder naming. It controls what the renamed folder looks like — for example: The Dark Knight (2008) [Action, Crime, Drama].
You can configure:
Year format — whether the year appears in parentheses, brackets, or is omitted.
Genre tags — whether to append genres in square brackets after the year. Genres come from TMDb.
Custom tags — add your own static text or tokens to every folder name.
The Construct panel shows a live preview of what the final folder name will look like before you apply anything. Changes here take effect on the next scan/preview.
TMDb — Your API Bearer Token (preferred) or legacy API key for movie/show matching. Required for all rename features.
OpenSubtitles — Username, password, and API key for automatic subtitle downloads. Optional — subtitle fetching only works when this is filled in.
Sonarr — URL (e.g. http://localhost:8989) and API key for your Sonarr instance. Optional.
Radarr — URL (e.g. http://localhost:7878) and API key for your Radarr instance. Optional.
Prowlarr — URL (e.g. http://localhost:9696) and API key for your Prowlarr instance. Optional.
Plex — Your Plex authentication token for connecting to your Plex server. Optional.
Performance — Scan concurrency and UI update frequency. Controls how fast large scans run.
Construct / Naming Template — Controls how Movie Matrix formats renamed folder names. See the Construct question above for details.
How-To: Plex & Watchlister
Step 1: Open Plex Web in your browser and navigate to any media item. Click the three-dot menu (⋯), choose Get Info, then click View XML.
Step 2: In the URL bar that opens, look for X-Plex-Token=XXXX. Copy that token value.
Step 3: In PFlix, click Plex in the sidebar (under the Integrations section). Go to the Settings tab.
Step 4: Enter your Plex server URL — e.g. http://192.168.1.100:32400 — and paste your token. Click Test & Connect.
If successful, PFlix will show your server name and switch to the Library tab automatically.
The Watchlister tab pulls your personal Plex watchlist from plex.tv and shows every item on it. Movies route to Radarr and TV shows route to Sonarr — PFlix automatically adds and searches the correct service when you click Request.
Request All Missing queues everything on your watchlist in one go. Items already in your library are shown but skip the request since you already have them.
For each item, you'll see whether Radarr or Sonarr is connected. If either service isn't connected yet, the button tells you to connect it first in the respective sidebar page.
Yes. In the Watchlister tab, scroll past your own watchlist and you'll see every person who has access to your Plex library — both managed home users and shared library users.
Managed home users (Plex Home/Plex Pass): click Load Watchlist — PFlix switches to their account automatically and fetches it.
Shared library users: these users have their own Plex accounts. Ask them to find their Plex token (same process: any media → Get Info → View XML → look for X-Plex-Token). Paste their token into the input field next to their name. PFlix saves it locally so you only need to do this once per person.
Once a watchlist is loaded, you can request all their missing items through Radarr/Sonarr the same way you do your own.
This usually means the Plex token you entered is a local server token rather than your Plex.tv account token. They can look identical but have different scopes.
To get your account token: go to plex.tv → sign in → any media item → Get Info → View XML → copy the X-Plex-Token from the URL. Use this token in PFlix settings, not the one from your local server URL.
PFlix automatically tries three different Plex API endpoints for the watchlist before giving up, so if it still fails after using the correct token, your watchlist may be empty or disabled in your Plex account settings.
How-To: TV Library Tips
PFlix reads the folder names in your TV library to identify which show each episode belongs to. It walks up the folder tree — from the episode file to the season folder to the show folder — and uses that path context to infer the show title automatically.
The key trick: if you manually organize even one show correctly — for example, rename its top-level folder to Breaking Bad — PFlix will use that folder name as the show title hint and auto-detect all the episodes inside it correctly. It knows to skip generic folder names like "Season 1", "Season 2", "Disc 1", etc., and it walks up until it finds a meaningful show-level name.
This means you don't have to manually identify each show. Sort one correctly, and PFlix figures out the rest of the shows in that library scan on its own.
The most reliable fix is to rename the top-level show folder to the exact correct title before scanning. For example, if PFlix is confusing The Office (US) with the UK version, rename the folder to The Office (US) or just The Office and scan again — PFlix will use that name as the search query against TMDb and give you the correct match options.
You can also use the manual override in the TV Library interface to pick the correct TMDb entry from the search results.
The standard Plex-compatible layout that PFlix works best with:
TV Shows/
Breaking Bad/
Season 01/
Breaking Bad - S01E01 - Pilot.mkv
PFlix will automatically match episodes at the file level and generate names in that format. If your structure is different (e.g., no season folders), PFlix still handles it — it scans recursively and infers the show from whatever folder name is above the episode files.
How-To: Movie Matrix
Step 1 — Select your folders: Click Select Parent to pick the folder containing all your movie subfolders (e.g. your whole Movies drive). PFlix scans every subfolder automatically. Or click Select Folders to pick individual movie folders one by one.
Step 2 — Auto-Match: Click ⚡ Auto-Match. PFlix hits TMDb for every folder and finds the best match. You'll see matches populating in real time. You can also click any individual item to search TMDb manually and pick a different result.
Step 3 — Preview: Click → Preview. PFlix shows you exactly what every folder and file will be renamed to before touching anything. Review the list — green ✓ means ready, yellow ⚠ means there's a conflict (destination already exists).
Step 4 — Confirm: Click ✓ Confirm. PFlix renames everything on disk. History is saved automatically so you can undo the whole batch from the History page.
This happens when all items in the preview have a ⚠ warning status instead of ✓ ready. The most common cause is that the destination folder or video file already exists — meaning a previous rename partially succeeded and left the correctly-named folder behind while the original folder also remains.
The fix: In the preview, look for the duplicate resolution action bar. Choose 🔄 Replace to overwrite the existing destination, or 🗑 Delete incoming to delete the leftover source folder (use this when the renamed version already exists and is correct). The Confirm button will activate once you've resolved all conflicts.
Movie Matrix remembers which folders it has already renamed (stored in a local database). On rescan, previously processed folders are automatically skipped — you only see new or unprocessed content.
If a folder you've already renamed is still showing up, it means either the renamed destination no longer exists on disk (so PFlix correctly offers to rename it again), or the memory was cleared. The scan feedback bar shows how many folders were skipped. If you want to force a full rescan, click the ↻ N skipped button in the toolbar to clear the memory.
Troubleshooting
This is normal for new, unsigned apps. Windows SmartScreen shows a warning because the app is new and hasn't built up a reputation with Microsoft yet. Click "More info" then "Run anyway". The app is safe. As more users download and run it, the warning will appear less often.
Check these in order: (1) The URL must include the protocol and port — e.g. http://localhost:8989, not just localhost:8989. (2) The API key must match exactly — copy it fresh from the service's Settings → General page. (3) The service must actually be running. (4) If on a different machine, the URL must be the correct IP, not localhost. See the How-To section above for step-by-step connection guides.
The year in the filename is usually the culprit — if the filename has the wrong year, TMDb will return bad matches. Fix the year in the folder name before scanning. For messy release-group names like The.Dark.Knight.2008.BluRay.x264-GROUP, Movie Matrix strips the tech tags and parses the title and year automatically. If it still fails, use the manual search override to type in the correct title or TMDb ID directly.
Make sure you've entered all three fields: username, password, and API key. The API key is separate from your account password — log into opensubtitles.com, go to your profile settings, and look for the API key section to generate or copy it. The username must match exactly as registered (it's case-sensitive).
Use the Feedback page to submit bug reports and feature requests. You can also reach out via the Contact page.
Still have a question?
Get in Touch