← Back to blog

How to Download Niconico Videos in 2026 (PC + Mobile)

Niconico's so- and sm- video IDs use different streaming protocols. Here's how to download Niconico videos at full quality with the right approach for each.

Niconico (ニコニコ動画) is Japan’s oldest and largest user-generated video platform — older than YouTube as a community, with a unique commenting culture that overlays comments directly on the video. If you want to save a Niconico video for offline viewing, the technical landscape is more fragmented than YouTube or Bilibili: video IDs starting with sm work differently from so, login state matters significantly, and several common downloaders break on encrypted HLS streams.

This guide explains how Niconico serves video, why the sm/so/nm ID prefix matters, and three practical ways to download Niconico videos in 2026.

Niconico video ID prefixes

Niconico videos have a 2-letter prefix in their ID:

PrefixMeaningStreaming
smStandard user-uploaded videoDMS (newer) or “smile server” (legacy)
soChannel video (Niconico Channel for paid creators)HLS, often encrypted
nmPremium-uploaded video (rare, legacy)DMS
lvLive broadcastHLS live

When you see a URL like nicovideo.jp/watch/sm12345678, the sm prefix tells you it’s a standard user upload. so12345678 is a channel video with potentially different access rules.

Niconico’s two streaming systems: DMS and the legacy server

Niconico migrated from a custom “smile server” architecture to a more standard DMS (Domand Media Streaming) system around 2023. As of 2026:

  • New uploads use DMS, which serves DASH (.mpd) manifests
  • Older uploads still use the legacy server, which produces direct MP4 URLs
  • Some older sm videos have been migrated to DMS retroactively
  • Channel so videos use HLS with encryption

This matters because each system requires different download techniques. A tool that handles DMS DASH won’t necessarily handle the legacy server’s flv-* URLs, and vice versa.

Method 1: Chrome extension

A browser extension running in your logged-in Niconico session sees whichever streaming format the page is using. It doesn’t need to know whether the video is DMS or legacy — it just intercepts the manifest the player loads.

Video Downloader One-for-All handles Niconico videos:

  1. Log into Niconico in Chrome (this is essential — anonymous downloads are limited and HD is often locked)
  2. Open the video page on nicovideo.jp/watch/{id}
  3. Wait for the video to start playing
  4. Click the extension icon
  5. Pick the quality from the dropdown — DMS streams typically offer 360p, 480p, 720p, and sometimes 1080p
  6. Click Download

The extension handles both DMS DASH manifests (audio/video separation, segment-by-segment download, FFmpeg.wasm muxing) and legacy direct-MP4 URLs (single-file download). For encrypted so channel videos, the extension handles AES-128 decryption transparently.

For login-restricted videos (premium-only, age-restricted, regional), the extension uses your existing browser session — no separate login configuration needed.

Method 2: yt-dlp

yt-dlp has Niconico support that’s been actively maintained for years:

# Public sm video
yt-dlp "https://www.nicovideo.jp/watch/sm12345678"

# With login cookies (essential for HD on most videos)
yt-dlp --cookies-from-browser chrome "https://www.nicovideo.jp/watch/sm12345678"

# Best quality, MP4 output
yt-dlp -f "bv*+ba/b" --merge-output-format mp4 \
  --cookies-from-browser chrome \
  "https://www.nicovideo.jp/watch/sm12345678"

# A premium-only video
yt-dlp --cookies-from-browser chrome \
  "https://www.nicovideo.jp/watch/so12345678"

yt-dlp’s Niconico extractor handles both DMS and legacy server URLs automatically, and the --cookies-from-browser flag lets you inherit your Niconico session from Chrome.

Caveats:

  • yt-dlp’s Niconico support occasionally breaks when Niconico changes their internal API; check yt-dlp release notes if a video that previously downloaded suddenly fails
  • Encrypted HLS for some so channel videos may produce errors that require updated yt-dlp builds

Method 3: Nicozon (online tool, fallback only)

Nicozon (nicozon.net) is a Japanese third-party site that resolves Niconico video URLs and offers a download link. It’s been around for over a decade.

Workflow:

  1. Open the Niconico video page
  2. Copy the URL
  3. Paste into Nicozon’s input box
  4. Wait for the page to resolve, then click 動画保存 (save video)

Caveats:

  • Cannot download so channel videos (those require authenticated access that Nicozon doesn’t have)
  • Cannot download videos behind login walls (premium, age-restricted)
  • Quality is often capped at the 360p/480p that anonymous viewers see
  • Reliability fluctuates with peak hours (slowdowns are common in evening Japan time)

Nicozon is fine for one-off downloads of public sm videos when you don’t want to install anything. For repeated use or anything more involved, the extension or yt-dlp paths are more reliable.

Encrypted HLS on so channel videos

Channel videos (URLs starting with nicovideo.jp/watch/so...) are typically published by paid creators on Niconico Channel. Some channels protect their videos with AES-128 encrypted HLS:

#EXT-X-KEY:METHOD=AES-128,URI="https://example.com/key.bin",IV=0x...

These videos play normally for users with channel subscriptions, but most third-party downloaders fail because they don’t fetch the AES key correctly.

The browser extension and yt-dlp both handle AES-128 transparently when used with cookies that prove channel access. Nicozon and similar online tools fail because they have no subscription cookies to send.

Quality and resolution mapping

Niconico DMS quality tiers (approximate):

TierResolutionBitrateAccount
Low360p~700 kbpsAnonymous
Medium480p~1.2 MbpsFree logged in
High720p~2.5 MbpsPremium
Premium HD1080p~4 MbpsPremium + recent uploads

Older legacy-server videos tend to max out at 480p regardless of account tier — that’s a property of the original upload, not the download tool.

Niconico Live (lv prefix)

Live broadcasts on Niconico use HLS with a sliding-window manifest, similar to Twitch. To record:

  1. The browser extension’s live recording feature supports Niconico Live the same way it supports any other HLS live stream
  2. yt-dlp can record with --cookies-from-browser chrome for premium-only broadcasts

For the technical details of live HLS recording in general, see How to Record Live Streams in Chrome Browser.

Comments overlay (Niconico’s signature feature)

Niconico’s defining feature is the comment overlay — the danmaku-style comments that float across the video. Standard download methods produce a video file without the comment overlay; comments are stored separately and rendered by the Niconico player at runtime.

To preserve comments alongside the video, you need:

  1. The video file (any download method above)
  2. The comment XML (downloadable separately via Niconico’s API or via tools like NicoNicoCacheDownloader)
  3. A player that can render both — e.g., NicoPlayer (desktop) or a custom solution

Most users only want the video itself. If you want the comment-rendered version, look at desktop tools like NicoNicoCacheDownloader — outside the scope of this guide.

Common questions

Why do some Niconico videos download as silent video?

The audio/video manifest separation problem covered in HLS Download Audio and Video Are Separate? Here’s How to Fix It. DMS uses DASH which separates audio and video. The extension auto-merges; FFmpeg/yt-dlp need both manifests passed.

My yt-dlp download says “Niconico requires login to download HD”

That’s the expected behavior. Niconico locks HD streams behind login. Pass --cookies-from-browser chrome after logging into Niconico in Chrome.

Can I download a video that’s been deleted from Niconico?

No — once Niconico deletes a video, the manifest URLs return 404 and the segments are removed from the CDN. Niconico has a higher rate of takedowns than YouTube, especially for content that uses copyrighted music, so download videos you care about while they exist.

Are downloads tracked by Niconico?

Niconico’s analytics increment view counts on player heartbeat events, not on segment fetches. Download activity is not (as far as we know) tracked or used for moderation.

Will my Premium subscription be flagged for downloading too much?

We are not aware of Niconico taking action against accounts based on download volume. As with any platform, redistributing downloaded content publicly violates the TOS regardless of how it was downloaded.

What about Niconico’s mobile app’s offline cache?

The mobile app caches videos in a proprietary encrypted format that can only be played by the app. You cannot extract them as MP4. Browser-based download is the standard path.

Why does Niconico require login for HD?

Bandwidth costs. Niconico’s free tier and lower-quality streams are subsidized by Premium subscriptions. Locking HD behind login (and especially behind Premium for some uploads) is a deliberate business model choice.

Comparison

SituationBest method
Public sm video, casual downloadBrowser extension (HD) or Nicozon (480p)
Premium-only or so channel videoBrowser extension or yt-dlp with cookies
Batch download a seriesyt-dlp with playlist URL + cookies
Niconico Live broadcastBrowser extension’s live recording
Air-gapped / no extensionsyt-dlp from CLI

Bottom line

Niconico’s two streaming systems (DMS and legacy) and the prefix-based access rules (sm vs so vs nm) make Niconico more fragmented than YouTube or Bilibili. The reliable download paths are: a browser extension that runs in your logged-in session, or yt-dlp with --cookies-from-browser. Both handle DMS DASH, legacy MP4, and encrypted HLS in a single workflow.

Install Video Downloader One-for-All for one-click Niconico downloads. For the underlying HLS/DASH protocol details, see How to Download m3u8 / HLS Streams and HLS Download Audio and Video Are Separate? Here’s How to Fix It.