Plex NFO Agent Forum Preview

Hi everyone!

Official support for NFO files has been a highly requested feature for a long time and we promised it would be coming towards the end of last year. Some other priorities got in the way of that but today I wanted to share the first preview build to get some feedback and test it out in the wild before we release it publicly.

This preview has support for movie and TV show (including season/episode) NFO files. Music NFO support is not currently on the roadmap but we will reevaluate that depending how much demand there is for it.

We support the widely used Kodi/XBMC NFO format. Most NFO generation tools will output to this format, if you use a tool like TinyMediaManager you can also configure the output to use the Plex preset.

How to Use

Once you have downloaded and installed the preview build below, create a new library and point it to your Movie or TV Shows path. Before saving the library, go to the Advanced pane in the library creation and choose “Plex NFO Movie” or “Plex NFO Series” from the “Agent” dropdown (if you don’t see this option please try to refresh the page in your browser).

Recommended file structures

Local image asset naming below is just one example, see supported options here:

https://support.plex.tv/articles/200220677-local-media-assets-movies/

https://support.plex.tv/articles/200220717-local-media-assets-tv-shows/

Movies

movie.nfo is the generally accepted naming if you have separate folders for each movie file. Using the exact name of the movie file is also supported, e.g. A Movie (2026).nfo

/Movies
  /A Movie (2026)
    A Movie (2026).mkv
    movie.nfo
    poster.jpg
    background.jpg
    logo.png
    square.jpg

TV Shows

season.nfo is mostly ignored, and is not required.

Episode NFO files are the minimum requirement but having a tvshow.nfo is highly recommended.

/TV Shows
  /A TV Show (2026)
    tvshow.nfo
    poster.jpg
    background.jpg
    logo.png
    square.jpg
    /Season 01
      season.nfo
      A TV Show (2026) - S01E01.mkv
      A TV Show (2026) - S01E01.nfo
      A TV Show (2026) - S01E01.jpg

Notes about the current implementation

  • Ratings (TMDB/IMDB/TVDB) are not yet supported. Support added in build 10505
  • Multi-part files are not currently supported.
  • FIles spanning multiple episodes are not currently supported. Support added in build 10505
  • While this agent does not require anything to be pulled from online sources, if you do not provide local image assets alongside your files, and the NFO points to an online asset it will try to pull the online version.
  • We may consider some advanced configuration options to allow more flexibility in the supported NFO formats, this will depend on user feedback.
  • Using embedded metadata inside MP4s will not be preferred over the NFO metadata using the default Plex NFO agent. You can still achieve this if you wish by creating a custom Metadata Agent (Settings → Metadata Agents) using the appropriate NFO provider as the primary provider and adding the Plex Local Media provider in the first position (see example below).

Accepted risk using preview builds

As preview builds have not undergone strict QA testing, issues may arise which could range from minor annoyances to permanent loss of data to your Plex database.

We always recommend running preview builds separately from your main PMS installation if possible. If you choose to use your existing database please ensure that you have recent backups.

10 Likes

Plex Media Server 1.43.1.10512-0703a193b

Available Downloads

Windows

macOS

Debian/Ubuntu

RedHat/CentOS/Fedora

FreeBSD

Snap Package

Android (NVIDIA Shield)

ASUSTOR

Netgear

Seagate

Synology DSM 6

Synology DSM 7

Synology DSM 7.2

TerraMaster

TerraMaster TOS 5

Thecus

Unraid

WD Docker

WD Cloud OS5

WD My Cloud DL2100

WD My Cloud DL2100 OS5

WD My Cloud DL4100

WD My Cloud DL4100 OS5

WD My Cloud EX2

WD My Cloud EX2100

WD My Cloud EX2100 OS5

WD My Cloud EX2 Ultra

WD My Cloud EX2 Ultra OS5

WD My Cloud EX4100

WD My Cloud EX4100 OS5

WD My Cloud Mirror

WD My Cloud Mirror OS5

WD My Cloud Mirror Gen2

WD My Cloud OS5

WD My Passport

WD My Cloud PR2100

WD My Cloud PR2100 OS5

WD My Cloud PR4100

WD My Cloud PR4100 OS5

Docker

  • For instructions on how to install preview builds in our docker container please see HERE
2 Likes

Thank you, now I just need to find some time over the weekend to test this :slight_smile:

One quick question regarding …

… does nfo work for naming like…

Terra Nova - S01E11pt1
Terra Nova - S01E11pt2
Buck Rogers in the 25th Century - S01E01-E02

Very excited to test this out!

Good question! And no, it doesn’t currently support multi-part files (I’ll add that to the post)

How would you want this to work for the NFO files?

So, Terra Nova - S01E11pt1 and Terra Nova - S01E11pt2 are probably less important. I can just remux pt1/pt2 together into one file but have always just left them separate incase the online metadata providers decide to split the episodes and then I’d need to sort them out again. Anyhow, for them I think Terra Nova - S01E11pt1.nfo exists then just use that as they are combined in plex anyhow.

Buck Rogers in the 25th Century - S01E01-E02 would be a bit more of a common use case. I’ve a fair bit like this, especially animated shows so ideally would really like this supported (another example below).

Does nfo support sections ? One section per episode. BTW… I do have one really messy one Star Wars: Clone Wars - S01E01-E20 so not sure how that could even be handled.

Agreed. I’ll add support for this but it won’t be a high priority as multi-part files are quite annoying for everyone.

This is the one I’m interested in finding out how you would handle this, would it one NFO file with all the episode details or an NFO file for each episode?

E.g.

Buck Rogers in the 25th Century - S01E01-E02.mkv
Buck Rogers in the 25th Century - S01E01-E02.nfo

or

Buck Rogers in the 25th Century - S01E01-E02.mkv
Buck Rogers in the 25th Century - S01E01.nfo
Buck Rogers in the 25th Century - S01E02.nfo

Do you mean multiple <episodedetails> in a single NFO? Like:

<episodedetails>
 .... data for episode 1
</episodedetails>
<episodedetails>
 .... data for episode 2
</episodedetails>

This wouldn’t currently work but I could make it work. I hadn’t actually considered this as it’s not something that actually came up in the documentation when I was reading up on the format.

Yeah, think I’m over thinking this. If …

Buck Rogers in the 25th Century - S01E01-E02.mkv
Buck Rogers in the 25th Century - S01E01.nfo
Buck Rogers in the 25th Century - S01E02.nfo

… can be used along side the multi part single media file then that’s probably the best and easiest way to support this.

1 Like

Will nfo support also be available for local extras (e.g. to override the title derived from an extra file name, adding description and possibly artist for music-video type extras)?

Not necessarily as a priority. Just wondering if this is being considered.

It’s not something that was really considered because we already have local extras support but I understand the desire to want to override the metadata.

This is not something on the roadmap, maybe a feature request?

1 Like

It looks like TMM handles spanned episodes this way:

Instead of a separate nfo for each episode. It feels cleaner implementing it this way as then you don’t have extra nfo files.

Thank you for this long-awaited addition. However, when using only this agent or even creating a custom metadata agent with “Plex NFO Movie” as the primary provider and “Plex Movie” as the secondary provider, I don’t have access to the “Discover” feature when I click on an actor/director link, and therefore no information about their filmography or other details…

Is this intended to work this way? It would be a disappointment to lose the ability to access this valuable information.

Edit: In the new version on iOS, however, I do have access to “Discover”… So I guess we’ll have to wait for an update to Plex Web to activate all this?

Thanks for checking. My initial thought was to use filebot and their nfo script (I’m invested in filebot as I have it built into my workflow) so will test over the weekend and see how I get on.

The Discover credits are a feature only on the Plex providers.

You either need to have the Plex provider first in the list of the agent or you need to ensure that the provider you’re using in front of the Plex provider doesn’t provide any cast information. So if you’re using NFO files you can do this by making sure whatever generates the files is not writing cast metadata to the NFO.

Okay, that makes sense. Thanks for the explanation.So the new version of Plex on iOS doesn’t automatically take into account the cast information contained in the NFO file? Because it does still retrieve the information from the NFO file (overview, genres, etc.)!

Thanks for this feature! :+1:
I know it its very early but is something planned to write the formula data to a NFO file?
I’m thinking of filling out the metadata of a tv show on Plex and export it to a NFO file with the click of a “export as to NFO” button. This could be useful for personal videos or a tv show with the “Plex Personal Media” agent.

Okay, had an hour today so here is some very early initial feedback on movies (not testing shows yet):

  • The guid is now using a local id guid="tv.plex.agents.nfo.movie://movie/858024". If we where to migrate to this how would watch status and play history be managed ? Is it all gone and we are starting from scratch ?

  • When using Cast & Crew which are included in the nfo, there is no profile pictures and its scoped to the library not the entire server. I assume this might be intentional as its now not linked to anything and its just names in a nfo. Two different actors with the same name might also be problematic but have not tested that yet.

  • Director seems to be the only crew detected in the nfo, credits do not which are writers.

  • When creating a Custom Metadata Agents and adding Plex Movie as an additional provider things like extras are included. Is there a plan to have an option in the library to disable these ? Also, trailers seem to re-enable when doing this even with this disabled in the library advanced settings and local assets no longer work. This is what I done for the custom agent …

Finally, all movies have a originally available date of 1969-12-31, guess its defaulting to this.

1 Like

I’ve tried to make it as stable as possible for the purpose of retaining watch/ratings states.

This guid is built from the id in the NFO file, if your NFO file provides a uniqueid with a type parameter we will use this to build the guid (e.g. <uniqueid type="tmdb" default="true">383498</uniqueid> will become tv.plex.agents.nfo.movie://movie/tmdb_383498).

If you don’t have this it will fall back to the generic <id> field like in your example.

Doing this will mean when if you scan in these files again later they will get the same guid.

Cast images should be working (they work for me). I’d need to get a sample from you to check.

And yes, cast with the same names won’t differentiate (like it used to be in Plex a few years ago). I could maybe mitigate this if the nfo contains an identifier for the cast member - I’ll look into this.

That sounds wrong, would need a sample NFO from you, it might be different to the Kodi/TMM format.

Good question, I need to rework some of the settings to work better when you mix providers. It’s very rudimentary right now. That work is actually happening indenpently of NFO support and is work planned for custom agents.

Same, need a sample. Working for me.

1 Like

Here you go. This is generated using filebot nfo groovy script. I’ll take a look at tmm and see how different it is and if there are ways to configure filebot to get what might be missing.

Hamnet [1080p HEVC].zip (1.5 KB)

Thanks! Yep, this is a bit more sparse than something that TMM might generate.

No premiered tag which is why there is no originallyAvailableAt (I will ensure we just use the year when that’s not available).

actor tags don’t have links to the images (which is why you’re not seeing any).

And also just a basic id field and no uniqueid .

I’ll take a deeper look a bit next week and tweak our parser to be friendly to your files.

1 Like