Download Japanese subtitles as TEXT from Netflix using a Kodi plugin

Note: while this article is written from the perspective of obtaining Japanese subtitles, it should work just as well for subtitles in other languages.

My journey of obtaining Japanese subtitles from Netflix has been a long one, but I’ve finally arrived at the holy grail: downloading the Japanese subs as TEXT. We had previously discovered that you could download Japanese subtitles as images using a script in your web browser. You could then perform OCR to turn those subtitles into text. While this worked alright, the subtitles weren’t perfect, and would contain some amount of errors that would need to be manually corrected.

This new method is a little more difficult to get set up, but lets you get the subtitles perfectly without any errors. However, there is still one caveat with this method: not all shows that have image subtitles also have text subtitles. So, the old method still has to be used in some cases. Specifically, it seems that Netflix originals designed for Japanese audiences (such as Terrace House) have text subtitles, but shows that were not designed for Japanese audiences (such as Stranger Things) only have image subtitles.

I just want the subs!

I have already downloaded subtitles from over 30 Japanese shows and movies that are available on US Netflix, and you can grab them all here.

As far as I can tell, this includes every Japanese Netflix original that has Japanese subtitles (at least as of the time this post was written). There are also a small handful of non-Netflix shows that I also happened to be able to find subs for.

I want to do it myself!

Here is how it’s done. (sorry for the rambling instructions, I’ll try to make it easier to follow sometime)

First, you need to download and install Kodi 18. At this time, version 18 is only available as development builds. You can download the windows 64-bit version here. You can find links to downloads for other platforms through the Kodi download page, just make sure to select the development builds to access version 18, because version 17 will not work!

Next, you will need my modified version of the Netflix plugin for Kodi.

Install Kodi 18 using the Full installation option, then Run Kodi.

Go to: Settings > Add ons > My add ons > All > Inputstream Adaptive > Enable

Go to: Settings > Add ons > Install from zip file

You will get a popup window saying that installing from unknown sources is disabled. Click the “settings” button.

Enable “unknown sources” and then click “yes”.

Return to “install from zip file” and select the modified Netflix plugin to install it.

If you use Netflix in a language other than English, go to settings > interface > Skin > fonts > Arial based.

Return to the Kodi main screen, and select Add-ons > Netflix.

Enter your Netflix login details (Caution! It is never safe to enter login information into untrusted software. At the very least, you should not reuse your Netflix password on other sites!)

You should be able to browse through Netflix. (for ease of use, I recommend adding any shows you want subtitles for to your “My List” prior to starting Kodi)

Select an episode or movie to play. You will get a popup saying Playback Failed.

In your file explorer (not inside of Kodi), browse to the folder where you installed Kodi. If Kodi was successful at downloading any subtitles, you should see a folder named “Subtitles”. Inside this folder you will find the subtitle files for every available language for the episode that you just tried to play. Congrats!

Tweaking the settings

There are two settings that can be tweaked. To modify the settings, you will need to make some modifications to a file named “”. On Windows, you should find this file in %appdata%\Kodi\addons\\resources\lib\

Open up in a text editor, and lines 32 and 33 will contain the two settings that you can tweak.


By default, the plugin will download subtitles for every language available. If you only want to get a certain language, you can change ‘all’ to the language code that you want. For example, Japanese would be ‘ja’. When you select an episode in Kodi, it will also generate a file in the directory where you installed Kodi called “Subtitle_urls.txt”. This file will give you a list of all the language codes available for that episode.

Netflix natively stores subtitles in WebVTT (.vtt) format. My plugin will do a conversion to SRT and also strip out any unnecessary style data. If you dont need the SRT files, or if you prefer to convert them yourself, you can change that setting to False.

Some things to be aware of

The plugin will not overwrite existing subtitle files. If you need to download a new version, you will need to delete the old ones first.

Sometimes, there are multiple files for the same language. As far as I can tell, the first one is always the primary subtitles, while the second one will only contain stuff like signs (that already appear in the main file). Since the secondary files generally seem unnecessary to me, the plugin will not download them. If you need to get them for some reason, you can just check the file “Subtitle_urls.txt” that appears in the directory where you installed Kodi. It will show you if there are multiple subtitles available, and will give you temporary download URLs for each one so you can download it through your web browser.

I tried using this through a VPN, and it wouldn’t download any subtitles. I’m not sure why.

Sometimes the plugin will just stop working, and you need to close and restart Kodi to get it working again. I’m not sure why.

PNG2SRT (tool to OCR image subtitles)

Download on Github

This is a tool that can perform OCR (optical character recognition) on XML/PNG subtitles and output the result as an SRT file. This can be used for subtitles obtained from DVD, Blu-ray, and Netflix. The Google Cloud Vision API is used for the OCR, and it has very good accuracy. This program is based on a python script originally posted by zx573 on the kanji koohii forums.

Before using this program, you may need to get your subtitles into the XML/PNG format. I have previously written a guide on extracting Netflix subtitles here.

For DVD or Blu-ray, I’m not going to write a detailed guide on ripping subtitles from the disc, as there are plenty of other guides out there on the internet. It is assumed that you can figure out how to obtain your subtitles as SUB/IDX or SUP format. From there, I recommend using a Windows program called Subtitle Edit to convert them into XML/PNG format. There may be other software that can do this, but Subtitle Edit is the one I am most familiar with.

Using Subtitle Edit to convert DVD or Blu-ray subs to XML/PNG

The File menu in Subtitle Edit has several options to import your Subtitles that are in SUB/IDX or SUP format. Just choose the appropriate one, and then you will come to an import screen. From here, you just need to right-click on one of the subtitle lines, then select Export > BDN xml/png.

Then on the next screen then comes up, you just want to select “export all lines”, and select a folder to save to.

Now you should have a folder containing a bunch of PNG images and an XML file. The next step is to create an API key on the Google Cloud Platform.

Create an API Key for Google Cloud Vision API

Google’s OCR is by far the most accurate I have seen, and works quite well. It is also free for a limited amount of use each month. According to their current pricing structure, you can OCR up to 1,000 items per month for free. My program can batch several PNG images into a single item, so you should be able to do several episodes or movies in a single month without having to pay anything. Google also offers a great trial offer (at least at the time I write this). You can get $300 of free credit when you sign up, and you have no obligation pay anything or continue using the service.

If you sign up for the Google Cloud Platform, then after logging in, you need to enable the Cloud Vision API and generate an API key.

  1. In the left hand menu, select APIs & Services > Dashboard
  2. Select Enable APIs & Services
  3. In the search box, type “vision”, and then select Google Cloud Vision API.
  4. Select Enable. It may walk you through setting up a billing profile at this point if one has not been created already. Again, there is no obligation to actually pay anything, as you can use this API a certain amount for free each month, and you may get free credits when signing up.
  5. Back at the APIs & Services Dashboard, select Credentials > Create Credentials > API Key.
  6. Once you have generated the API key, be sure to copy it or keep it open in your browser so you can access it later.

Use PNG2SRT to OCR the images

Now, we can use PNG2SRT to send the subtitle images through the Cloud Vision API.


Version 1.0.0 – March 11, 2018

Download on Github

Download the appropriate version for your computer, and then extract the archive.

Next, you need to paste your API Key into a text file named API_KEY.txt located in the same folder as the application (the file should contain ONLY your API key, and no other text).

When you run the application, it should look like this:

First, you need to make sure that your API Key is displayed correctly in the top area. If not, make sure you did the previous step correctly.

Then, you just select a folder containing XML/PNG files, which is what will be converted to SRT.

Note: You may get an error if the folder name contains unicode characters. In that case, please rename the folder to use English characters.

There is also an option to select the language that you want Google to recognize. It defaults to Japanese, because that is what I use, but you can select whichever language you need. You can find a full list of language codes here.

The only other option is the chunk size. The default of 15 is usually fine. If you press the start button, and the program appears to begin working but then gives you an error message part way through, you might need to decrease the chunk size to a smaller value like 10 or even 5. Larger values should use up less of your credit but smaller values have a greater chance of completing sucessfully.

After you press start, if all goes well, the program should run and it will output an SRT file inside your input folder.