adb / offline-transfer
6 SIMPLE STEPS

Netflix offline

For those of us who wants their data offline.

Transfer progress
0 / 6 stages marked done

PHASE 1 Connect to the device

Turn on Wireless debugging in Developer options, then pair from the terminal.

Pair host and code

On the phone: Settings → Developer options → Wireless debugging → Pair device with pairing code. Type the host:port and 6-digit code in here.

Run in terminal

PHASE 2 Find the download folder

Open a shell on the device, then browse to the Netflix offline cache.

Open ADB shell

Drops you into a shell on the phone itself — every command after this runs on-device.

Run in terminal
adb shell

cd into the cache, then list it

Each downloaded title gets its own numbered folder here. List the directory and note the folder number for the show you want.

Run in terminal
Then list the folder
ls -la

PHASE 3 Pull it to your Mac

Exit the shell first — adb pull runs from your computer's terminal, not the phone's.

Copy the project to your computer

Pulls the whole numbered folder from Phase 2 into a local destination folder of your choice.

Run in terminal
The pulled folder holds .nfa (audio) and .nfv (video) files — both encrypted by Netflix. The next phase only deals with the audio side.

PHASE 4 Convert audio & merge with video

Netflix's audio format (.nfa) isn't encrypted, just wrapped — convert it, then mux it onto a video file you already have.

Convert .nfa to .wav

Run this on macOS, from inside the pulled project folder.

Run in terminal

Merge audio into the video

The .nfv video file stays encrypted, so this step assumes you already have the matching video as a playable .mp4 from elsewhere. ffmpeg copies both streams into one container without re-encoding.

Run in terminal
Uses the .wav from Step 5 as audio.wav — rename or adjust the command if you kept a different filename.