Next.js 16の現行版は16.3系です。2026年9月18日にnpmのdist-tagsを確認した時点で latest は16.3.5(npmでの公開は協定世界時の2026年9月11日)でした。この記事では「いま何が最新か」だけでなく、手元のプロジェクトがどの版かを確認する方法、16.0から16.3までに何が変わったか、そして公式のLTS区分で自分の使っている版がいつまで修正を受け取れるのかまでを、npmレジストリと公式ドキュメント、実際にインストールしたパッケージの型定義から確認した内容で整理します。
個別の新機能の使い方ではなく、バージョンの選択と更新の判断に必要な情報に絞っています。16.3の新機能そのものを実装目線で追いたい場合はNext.js 16.3とは?Turbopack永続キャッシュとInstant Navigationsなど新機能を実装者目線で解説を、Next.js自体をこれから触る場合はNext.jsとは?16系App Routerで最小アプリを動かす手順と採用判断を参照してください。
まとめ:Next.js 16の最新バージョンと確認・更新の要点
- 最新版は16.3系。2026年9月18日時点でnpmの
latestは16.3.5(公開は協定世界時の2026年9月11日)です。 - 確認は
next --versionかnpm ls next。package.jsonの^16.3.0のような表記は許容範囲であって実際に入っている版ではありません。 - 16系は16.0(2025年10月)、16.1(2025年12月)、16.2(2026年3月)、16.3(2026年8月)の4マイナー。マイナーの間隔は2から5か月です。
- Next.jsには公式のLTS区分があります。16.xがActive LTS、15.xがMaintenance LTSで、15系の保守は初回リリースの2年後にあたる2026年10月21日で終わります。
- 更新は16.1以降なら
npx next upgradeの一発。16.1より前からの更新にはnpx @next/codemod@canary upgrade latestを使います。 - 16系の前提はNode.js 20.9以上。Node.js 18は非対応で、TypeScriptは5.1以上が必要です。
Next.js 16の最新バージョンは16.3系(2026年9月18日時点)
Next.jsの「今の最新版」を一次情報で確かめる最短経路は、npmレジストリのdist-tagsです。公開されているエンドポイントを叩けば、どのタグがどの版を指しているかがそのまま返ってきます。
$ curl -s https://registry.npmjs.org/-/package/next/dist-tags
2026年9月18日に実行した結果から、主要なタグを抜き出したものが次の表です。
| dist-tag | 指している版 | 意味 |
|---|---|---|
latest |
16.3.5 | 安定版。npm i next で入るのはこれ |
canary |
16.4.0-canary.35 | 開発中の次期版。毎日更新される |
preview |
16.3.0-preview.10 | 16.3の先行公開時に使われたタグ |
backport |
15.5.25 | 旧メジャーへ修正を戻した版 |
beta |
16.0.0-beta.0 | 16.0時点のまま更新されていない |
rc |
15.0.0-rc.1 | 15.0時点(2024年)のまま更新されていない |
ここで見落としやすいのが beta と rc です。いずれも16.0や15.0の時点で止まっており、現在の開発状況を反映していません。「次の版を試したい」という理由で next@beta や next@rc を入れると、最新どころか古いプレリリース版が入ります。beta が指す16.0.0-beta.0の公開は2025年10月10日、rc が指す15.0.0-rc.1にいたっては2024年10月15日です。先行版を試す用途で実際に使われているタグは canary だけです。
安定版とcanaryの使い分け
公式のアップグレード手順では、canaryへ上げる前に「まず最新の安定版に上げて、すべてが期待どおり動いていることを確認する」よう案内されています。canaryはNext.jsの新機能が最初に入る場所で、認証まわりの forbidden や unauthorized のように、安定版にはまだ来ていない機能がcanary限定で提供されることがあります。本番運用中のアプリは latest を追い、canaryは検証用のブランチに限定するのが無難です。
使用中のNext.jsバージョンを確認する3つの方法
「最新は16.3.5」と分かっても、手元のプロジェクトが何を使っているかは別の話です。確認方法は3つあり、精度が違います。
next --version:実行バイナリの版確認
もっとも確実なのは、プロジェクトにインストールされたNext.jsのCLIに直接聞く方法です。[email protected]を入れた環境で実行した結果は次のとおりでした。
$ ./node_modules/.bin/next --version
Next.js v16.3.5
先頭に v が付く点に注意してください。CIのスクリプトで版を取り出して比較する場合、この v を落とす処理が要ります。
npm ls next:依存ツリー上の解決結果の確認
モノレポや依存の重複を疑うときは、依存ツリーを出すほうが早く分かります。
$ npm ls next
[email protected] /private/tmp/next9596
`-- [email protected]
複数の版が同時にインストールされている場合は、この出力に枝分かれとして現れます。next --version は実行したバイナリ1つ分の情報しか返さないため、重複の検知にはこちらを使います。
package.json:許容範囲の指定とインストール済み版の違い
package.jsonの依存に "next": "^16.3.0" と書かれていても、実際に入っているのは16.3.0とは限りません。キャレット(^)は「16.3.0以上17.0.0未満」を許容する指定なので、インストール時点で16.3.5が入っていることのほうが普通です。版を特定したいときはpackage.jsonではなく、上の2つのコマンドかpackage-lock.jsonを見てください。
Next.js 16のリリース履歴とマイナーごとの変更点
16系は2025年10月の16.0から、2026年9月時点までに4つのマイナーが出ています。公開日はnpmレジストリのtimeフィールドの値(協定世界時)で、いずれも公式リリースブログの掲載日と一致します。日本時間では1日ずれる版がある点に注意してください。変更内容は各版の公式リリースブログから取りました。
| 版 | 公開日(UTC) | この版の中心的な変更 |
|---|---|---|
| 16.0.0 | 2025年10月22日 | メジャー更新。Turbopackが既定に、キャッシュはオプトインへ |
| 16.1.0 | 2025年12月18日 | 開発時のディスクキャッシュが既定ON、next upgrade 追加 |
| 16.2.0 | 2026年3月18日 | dev起動とレンダリングの高速化、Adapters安定化 |
| 16.3.0 | 2026年8月3日 | devメモリ削減、ビルドキャッシュ既定化、Instant Navigations |
パッチ版は別のペースで出ます。16.3.0から16.3.5までは2026年8月3日から9月11日の約5週間で5本が公開されており、おおむね1週間から10日おきという間隔でした。「16.3にした」と言うときの実際の版は、この範囲のどれかになります。
16.1:Turbopackのディスクキャッシュ既定化と next upgrade の追加
16.1では、Turbopackのファイルシステムキャッシュが next dev 向けに安定版となり、既定で有効になりました。コンパイル成果物がディスクに残るため、開発サーバーを再起動したときの初回コンパイルが速くなります。公式ブログが挙げた初回ルートのコンパイル時間の比較では、キャッシュなしとキャッシュ利用時で、react.devが3.7秒から380ミリ秒、nextjs.orgが3.5秒から700ミリ秒に短縮しています。
更新作業の観点でこの版が重要なのは、next upgrade コマンドが追加された点です。それまでは別パッケージのコードモッドCLIを呼ぶ必要がありましたが、16.1以降はNext.js本体のサブコマンドとして更新できるようになりました。
16.2:dev起動とレンダリングの高速化、Adapters安定化
16.2は開発体験と実行性能の改善が中心です。next dev でlocalhostが応答するまでの時間について、公式ブログは本文で「同一マシン・同一プロジェクトで、既定のアプリケーションなら16.1比で約87%高速」と説明しています。なお同じ記事の冒頭の箇条書きには「約400%高速」とあり、2つの表現は一致しません。数字を引用するなら、条件が併記されている本文側の記述を使うのが安全です。
レンダリング面では、Server Componentsのペイロード復元処理をReact側で改善し、実アプリでHTML生成が25%から60%速くなったと説明されています。ほかに、既定のエラーページの刷新、ハイドレーション不一致時に「サーバー側」「クライアント側」を明示する差分表示、next start への --inspect 対応、プラットフォーム側がビルド処理を拡張するためのAdapters APIの安定化が入りました。
16.3は16.0以降で最大規模の更新です。既存アプリがコードを変えずに得られる改善として、次のものが挙げられています。
- 開発時メモリの削減。ディスクキャッシュとメモリ退避が既定で有効になり、長時間のdevセッションでRAM使用量が最大90%減。50ルートをコンパイルした後の比較として、Vercelのダッシュボードで21.5GBから2GBという計測が示されています。
- ビルドの高速化。16.1からdevで使われていたディスクキャッシュが
next buildにも既定で適用され、CIで最大5.5倍という事例が挙げられています。 - TypeScript 7での型検査。プロジェクトのtypescriptを7系に上げると、
next buildの型検査がネイティブ実装で走ります。 - サーバーレンダリングの高速化。App Routerの描画層をWeb StreamsからNode.jsネイティブのストリームへ置き換え、負荷時に最大22%多いリクエストを処理できるとしています。
- AIエージェント向けの版対応ドキュメント。
next devがプロジェクトの版に合致したAGENTS.mdのブロックを書き出し、ローカルのnode_modules内のドキュメントを指すようになりました。
加えて、オプトインの機能群としてInstant Navigationsが導入されました。cacheComponents と partialPrefetching の2つのフラグを有効にすると、遅いナビゲーションを検出するInstant Insights、リンクごとの先読み量を制御するPartial Prefetching、ビルド時に生成しなかったページへ即座にローディングシェルを返すISRの改良などが使えます。公式はこれらの挙動を将来のメジャーで既定にする方針だと述べています。実装の詳細はNext.js 16.3の解説記事にまとめています。
Next.jsのLTS区分とサポート期間
Next.jsには公式のLTS(長期サポート)区分があります。ドキュメント配下ではなく nextjs.org/support-policy という独立したページに置かれているため見落とされやすいのですが、メジャー版ごとに2つの状態が定義されています(Next.js Support Policy)。
Active LTSとMaintenance LTSの違い
| 区分 | 対象(2026年9月時点) | 受け取れる更新 | 期間 |
|---|---|---|---|
| Active LTS | 16.x | 新機能・通常のバグ修正・性能改善・セキュリティ修正 | 次のメジャーが出るまで |
| Maintenance LTS | 15.x | 重大なバグ修正と必須のセキュリティ更新のみ | そのメジャーの初回リリースから2年間 |
公式ページのSupported Versionsの表は、16.xのリリース日を2025年10月21日、15.xを2024年10月21日としています。この記事のリリース履歴の表はnpmレジストリの記録(協定世界時)を使っているため、16.0だけ1日ずれて10月22日と表記しています。
15系のMaintenance LTS終了時期
「初回リリースから2年間」という基準をそのまま当てはめると、15.xのMaintenance LTSは2024年10月21日の2年後、つまり2026年10月21日で終わります。この記事の時点で残りおよそ1か月です。15系のまま動いているプロジェクトは、16系への移行を予算とスケジュールに載せる段階にあります。
もう1点、運用に効く注意があります。公式ページはMaintenance LTS期間中の更新について、破壊的変更であってもセマンティックバージョニング上のマイナー更新として配信すると明記しています。15系に留まる判断をする場合でも、マイナーの更新内容は毎回確認が必要です。
バックポートの実際
Maintenance LTSが実際に動いていることは、GitHubのリリース一覧で確認できます。16系のパッチと同じ日に15系のパッチが出ているケースが繰り返し見られます。
| 日付 | 16系(Active LTS) | 15系(Maintenance LTS) |
|---|---|---|
| 2026年7月21日 | v16.2.11 | v15.5.21 |
| 2026年7月25日 | v16.2.12 | v15.5.22 |
| 2026年8月25日 | v16.3.3 | v15.5.24 |
| 2026年8月31日 | v16.3.4 | v15.5.25 |
LTS版を指定する方法
npmのdist-tagsに lts という名前のタグはないため、「LTS版を入れる」という操作をタグ名で書くことはできません。Maintenance LTSの15系を使い続けるなら、メジャーを固定します。
$ npm view next@15 version
15.5.25
2026年9月18日時点では15.5.25が解決されます。backport というdist-tagも同じ15.5.25を指しています。なお next-15-3 のような系列固定タグは15.3.9で止まっており、Maintenance LTSの修正を受け取れません。系列を細かく固定すると保守対象から外れる点に注意してください。
Node.jsのLTSと混同しやすい点
Next.jsの公式ドキュメントには、必要なNode.jsの最低版として「20.9.0(LTS)」という記述もあります。こちらはNode.js側のLTSであって、Next.js自身のサポート区分とは別の話です。検索結果でこの記述に当たった場合、Next.jsのサポート期間の根拠にはなりません。
Next.js 16へアップグレードする手順
更新方法は、いま使っている版が16.1以上かどうかで分かれます。
16.1以降:next upgrade の実行
16.1で追加された upgrade サブコマンドは、16.3.5のCLIヘルプにも「Upgrade Next.js apps to desired versions with a single command.」として掲載されています。
$ npx next upgrade
pnpmなら pnpm next upgrade、yarnなら yarn next upgrade、bunなら bunx next upgrade と、パッケージマネージャに合わせて呼び分けます。
16.1より前:コードモッドCLIの実行
公式ドキュメントは「16.1.0より前のバージョンは upgrade コマンドに対応していないため、別パッケージを使う必要がある」と明記しています。15系や14系から上げる場合はこちらです。
$ npx @next/codemod@canary upgrade latest
手動での依存差し替え
コードモッドを挟まず自分で依存を差し替えるなら、Next.js本体とReact、ESLint設定をまとめて上げます。
$ npm i next@latest react@latest react-dom@latest eslint-config-next@latest
TypeScriptを使っている場合は @types/react と @types/react-dom も合わせて最新にするよう案内されています。
Next.js 16へ更新する前に確認する実行環境とビルド・キャッシュ設定
16系への更新でつまずきやすい点を、実行環境とビルド・キャッシュ設定、そしてアプリのコード側の順に挙げます。
Node.js 18のサポート終了
16系の最低要件はNode.js 20.9.0です。[email protected]のpackage.jsonでも engines は {"node": ">=20.9.0"} となっていました。あわせてTypeScriptは5.1以上、対応ブラウザはChrome 111以上、Edge 111以上、Firefox 111以上、Safari 16.4以上が必要です。CIのNode.js版が18のままだと、アプリのコードに手を入れる前にビルドが落ちます。
Turbopackの既定化とwebpackへの切り替え
16系では next dev も next build もTurbopackで動きます。webpack前提のカスタム設定が残っていて移行が間に合わない場合は、CLIフラグで従来の挙動に戻せます。16.3.5のヘルプで実際に確認できるオプションは次のとおりです。
$ npx next dev --webpack # Starts development mode using webpack.
$ npx next build --webpack # Builds using webpack.
これは移行期間のための逃げ道であり、Turbopack側の改善はこのフラグを使っている限り受け取れません。Turbopack前提での設定の書き換え方はTurbopackとは:Next.js 16で既定になったRust製バンドラの設定と移行判断で扱っています。
Turbopackのディスクキャッシュの既定有効化と無効化
ディスクキャッシュは16.1でdev向けに、16.3でbuild向けに既定ONになりました。[email protected]に同梱されている型定義 server/config-shared.d.ts を確認すると、既定値は次のように定義されています。
turbopackFileSystemCacheForDev: true;
turbopackFileSystemCacheForBuild: true;
キャッシュが原因と疑われるビルド不整合を切り分けたいときは、next.config.tsで個別に無効化できます。
import type { NextConfig } from 'next';
const nextConfig: NextConfig = {
experimental: {
turbopackFileSystemCacheForDev: false,
turbopackFileSystemCacheForBuild: false,
},
};
export default nextConfig;
2つのキーは分かれているため、開発時だけ切って本番ビルドのキャッシュは残す、という指定もできます。恒久的に切るものではなく、問題を再現させるための一時的な措置として使ってください。
cacheComponents の既定値と有効化の条件
ここまでに出てきた2種類のキャッシュは分けて考える必要があります。前項のTurbopackのディスクキャッシュはビルド成果物のキャッシュで、16.1と16.3で既定有効になりました。一方、アプリケーションの描画結果をキャッシュするCache Componentsは既定では無効です。同じ型定義で確認すると、トップレベルの cacheComponents の既定値は false でした。16.3へ更新するとビルド用のディスクキャッシュは既定で有効になりますが、Cache ComponentsとInstant Navigationsは cacheComponents: true と partialPrefetching: true を自分で書いて初めて有効になります。キャッシュAPIの使い分けはNext.jsのキャッシュ|5つの保存先とuse cache・再検証APIの使い分けにまとめています。
アプリのコード側の非互換:同期版リクエストAPIの廃止と next lint の削除
実行環境とビルド設定が通っても、アプリのコードで引っかかる変更が2つあります。1つはリクエスト時APIの同期アクセスです。公式のアップグレードガイドは「Next.js 16から同期アクセスは完全に削除された」と明記しており、cookies、headers、draftMode、layout.jsやpage.jsなどの params、page.jsの searchParams は非同期でしか読めません。15系の互換期間のまま同期アクセスが残っている場合は、専用のコードモッドを走らせます。
$ npx @next/codemod@canary next-async-request-api .
もう1つは next lint コマンドの削除です。アップグレード用のコードモッドがESLint CLIへの移行を含むため、多くの場合は npx next upgrade の実行で置き換わりますが、CIの設定やnpm scriptsに next lint を直接書いている箇所は自分で直す必要があります。
よくある質問(FAQ)
Next.jsの最新バージョンは何ですか?
2026年9月18日時点でnpmの latest が指しているのは16.3.5で、公開は協定世界時の2026年9月11日です。マイナー系列としては16.3系が現行になります。パッチ版の公開間隔は一定ではないため、実際の作業前には npm view next version などで自分で確認してください。
Next.jsにLTS版はありますか?
あります。公式のサポートポリシーで、現行メジャーがActive LTS、1つ前のメジャーがMaintenance LTSと定義されています。2026年9月時点では16.xがActive LTS、15.xがMaintenance LTSです。Maintenance LTSは重大なバグ修正と必須のセキュリティ更新だけを受け取り、期間はそのメジャーの初回リリースから2年間なので、15系は2026年10月21日で終わります。なお lts という名前のdist-tagはないため、15系を使い続ける場合は next@15 のようにメジャーで固定します。
自分のプロジェクトのNext.jsバージョンはどう確認しますか?
npx next --version を実行すると Next.js v16.3.5 のように表示されます。依存の重複を疑うときは npm ls next で依存ツリーを確認してください。package.jsonの ^16.3.0 は許容範囲の指定であって、実際に入っている版ではありません。
16.2から16.3へ上げるべきですか?
16.3の主要な改善は、開発サーバーのメモリ使用量、ビルド時間、サーバーレンダリングの処理量で、いずれもアプリのコードを変えずに効きます。Instant NavigationsやCache Componentsはフラグでオプトインするまで有効になりません。ただし、描画層のストリーム実装の差し替えやビルドキャッシュの既定有効化のように、既定の挙動そのものが変わっている部分もあります。更新は推奨しますが、検証環境で本番ビルドと主要画面の遷移を確認してから本番へ適用してください。
next@canaryは本番で使えますか?
公式はcanaryへ上げる前に安定版で正常動作を確認するよう案内しており、canaryは新機能を先に試す場所として位置づけられています。本番運用では latest を使い、canaryは検証ブランチに限定するのが安全です。なお beta と rc のタグはそれぞれ16.0.0-beta.0と15.0.0-rc.1のまま更新されていないため、先行版を試す目的では使えません。
関連記事
- Next.js 16.3とは?Turbopack永続キャッシュとInstant Navigationsなど新機能を実装者目線で解説:本記事で概要だけ触れた16.3の各機能を、設定例と挙動の変化まで踏み込んで解説しています。
- Next.jsとは?16系App Routerで最小アプリを動かす手順と採用判断:これからNext.jsを導入する場合に、16系で最小構成のアプリを動かすまでの手順を追えます。
- Turbopackとは:Next.js 16で既定になったRust製バンドラの設定と移行判断:既定バンドラになったTurbopackの設定方法と、webpackからの移行可否の判断材料をまとめています。
- Next.jsのキャッシュ|5つの保存先とuse cache・再検証APIの使い分け:
cacheComponentsを有効にする前に押さえたい、キャッシュの保存先と再検証APIの整理です。 - App Routerとは?Next.jsのファイル規約・動的ルーティング・Pages Routerとの違い:16系の前提となるApp Routerのファイル規約とルーティングの考え方を解説しています。