How to Download Bilibili Videos to Your Computer (2026 Latest Guide)
Bilibili is one of the most interesting video platforms on the internet — a blend of YouTube, Reddit, and anime streaming. As of 2025, it has over 340 million monthly active users, with content ranging from hand-drawn animation to university open courses, from game speedruns to 8-hour livestream replays.
The official app lets premium members download for offline viewing, but the format is proprietary .blv, playable only in the app, only on the device that downloaded it, and it expires when the membership ends. That's not what most people mean by "offline."
This guide covers how to download Bilibili videos as standard MP4 files that stay on your machine for good.
What Format Does Bilibili Actually Use?
Bilibili migrated from Flash to HTML5 video in 2019, and most content is now delivered via DASH (Dynamic Adaptive Streaming over HTTP), which means:
- Video and audio tracks are transmitted as independent streams
- Each track is chopped into hundreds of small
.m4ssegments - A central MPD manifest file describes where everything is
If you open DevTools on a Bilibili page and look at the Network panel, you'll typically see a JSON API response containing an MPD URL or a list of segment URLs — not a direct .mp4 link. That JSON response is what the player uses to construct the DASH stream.
Livestreams (live.bilibili.com) switch to HLS/M3U8 instead of DASH, using an entirely different delivery pipeline. For how M3U8 works, see the Complete HLS Download Guide.
Anime vs. Creator Uploads: Format Differences
It's worth noting: Bilibili content isn't monolithic. Regular creator uploads and anime/premium content use different backend distribution logic:
| Content Type | Delivery Format | Notes |
|---|---|---|
| Regular creator uploads | DASH (.m4s) | Most everyday videos |
| Anime episodes | DASH (.m4s) | Login required, some require premium |
| Interactive videos | DASH + special branching logic | FlowPick captures the played branch |
| Livestreams | HLS (.m3u8) | Completely different pipeline |
| Livestream replays | DASH (.m4s) | Converts to static stream after broadcast ends |
FlowPick handles all of these, but the workflow rhythm differs slightly — the main difference is that anime has stricter CDN signature tokens with shorter validity windows, so you want to complete the download in one go.
Quality Tier Breakdown
Bilibili's quality tiers can be confusing because some resolutions require login and some require a premium membership:
| Resolution | Requirement |
|---|---|
| 360P | No account needed |
| 480P | Free account (logged in) |
| 720P | Free account (logged in) |
| 1080P | Free account (logged in) |
| 1080P+ / 60fps | Premium membership |
| 4K / HDR | Premium membership |
| Dolby Vision | Premium membership |
FlowPick captures whatever the player is actually delivering to you. If you have a premium membership, the player loads high-bitrate streams, and FlowPick sees those. Free accounts top out at standard 1080P.
Step-by-Step: Downloading Bilibili Videos
Step 1: Install FlowPick
Install from the Chrome Web Store or Edge Add-ons. One click, no registration.
If you're already logged into Bilibili, stay logged in — FlowPick needs that to access the quality tiers tied to your account.
Step 2: Open the Video and Start Playing
Go to bilibili.com/video/BVxxxx (any video page). The video must actually start playing, not just load the page. If autoplay is off, click the play button.
This matters: the Bilibili player doesn't request the DASH manifest until playback begins. FlowPick is waiting for that request.
Step 3: Open the FlowPick Popup
Click the FlowPick icon in your browser toolbar. The badge number shows how many streams were detected. On Bilibili, you'll typically see:
- The main video, shown as a DASH/MPD entry (may have multiple quality levels)
- A separate audio-only entry
- Sometimes ad streams (smaller file sizes — ignore those)

Step 4: Select the Video Entry
Click the DASH entry that corresponds to your video (look for the one with the larger estimated file size — that's the actual content, not a 30-second pre-roll ad).
FlowPick parses the DASH manifest and shows all available quality levels. Pick the resolution you want.

Step 5: Name and Download
Give the file a name, set the thread count (default is 2; 4-6 is fine for typical broadband — no need to max it out), and click Pick.
FlowPick will then:
- Download video and audio segments in parallel
- Merge audio and video using FFmpeg WebAssembly running inside the browser
- Save the merged MP4 to your downloads folder
On typical broadband, a 20-minute 1080P video usually takes 2-4 minutes.
Step 6: Confirm Download Complete
The FlowPick popup shows download progress. Once done, the file is in your browser's default download directory, ready to play in any player.

Handling Multi-Part Long Videos
Bilibili lets creators split long videos into multiple "parts." A 3-hour documentary might be uploaded as P1, P2, P3, displayed as a playlist on the page.
Each part is an independent DASH stream. You need to:
- Play P1, download with FlowPick
- Switch to P2 (or click the part in the sidebar), play, download
- Repeat for remaining parts
If you want to merge them into one file, use any video editor or ffmpeg afterwards:
ffmpeg -f concat -safe 0 -i filelist.txt -c copy combined.mp4
Where filelist.txt contains:
file 'part1.mp4'
file 'part2.mp4'
file 'part3.mp4'
Downloading Bilibili Livestreams
Livestreams on live.bilibili.com use HLS instead of DASH. The process is similar but with key differences:
- You can only record from the moment you start. No rewind — if you missed the first 30 minutes, those segments are already gone from the CDN.
- Stream URLs expire quickly — typically 30-60 minutes. A download that times out may fail mid-way.
- Prefer replay URLs. If the streamer has replays enabled, the replay becomes a static DASH stream (not live HLS) and can be cleanly downloaded after the broadcast ends.
Livestream capture tip: start FlowPick early. Don't wait until something exciting happens.
Anime Download Notes
Anime CDN tokens typically have shorter validity windows than regular uploads (user reports suggest under 2 hours) and may be IP-bound. A few tips:
- Don't switch networks mid-download (e.g., from WiFi to mobile hotspot) — it'll break token validation
- Don't leave a download task hanging. A 20-minute anime episode usually downloads in 2-3 minutes. Leaving it unattended for hours and coming back — it's probably failed
- If a download fails, just refresh the page, re-detect, and start a fresh download
Common Issues
"0 streams detected"
Most likely the video hasn't started yet. Try:
- Manually pressing play
- Waiting for the first 5 seconds of buffering
- Refreshing the page (player initialization state sometimes expires)
Still nothing: Bilibili occasionally wraps the player in an iframe. Right-click the video → "Open frame in new tab" → try FlowPick there.
Download stalls at 70-80%
Stream URLs have expired. Bilibili CDN signed URLs are typically valid for 6 hours; paid content may be shorter. Reload the page, re-detect, start a fresh download. Don't start a download and leave it unattended for long periods.
Output file has no audio
The audio stream wasn't captured. Usually happens when:
- The video auto-advanced to the next part
- A popup or ad interrupted audio stream initialization
Reload, play from the beginning (not muted), re-detect before downloading.
Output is in .blv format
That's not FlowPick — you accidentally used the official Bilibili app's "cache" feature. Make sure you're using the browser extension on the web player, not the app.
Only getting 360P despite having premium
FlowPick captures whatever stream the player actually requests. If the page shows 360P, the player chose 360P — click the quality switcher in the player, manually switch to a higher quality, then re-detect.
Large File Downloads
Bilibili 4K videos can reach several GB. FlowPick uses the browser's File System Access API for streaming writes, with no file size limit. Memory usage stays stable throughout the download — the browser won't freeze just because the file is large.
Use Chrome or Edge for large file downloads — these two browsers have the most complete FSA streaming write support.
Legal Note
FlowPick captures the video your browser is already rendering. Bilibili's terms of service restrict redistribution of downloaded content. In jurisdictions where it's permitted, downloading for personal offline viewing exists in a gray area — check your local laws. Don't redistribute content you didn't create.
Recommended Reading
- What Is DASH Streaming? MPD File Explained — a deep dive into Bilibili's primary streaming format
- How to Download M3U8/HLS Streams: A Complete Beginner's Guide — Bilibili livestreams use HLS; this covers the full HLS workflow
- How to Batch Download Images from Any Website — batch-grab images from Bilibili posts and comment sections
- FlowPick vs. Video DownloadHelper — tool comparison for DASH-heavy platforms like Bilibili