OGP 確認ツール — X・Facebook・LINE でのシェア表示をプレビュー
ページの URL を入れると、HTML から og:title・og:description・og:image などの OGP タグと Twitter カードのタグを読み取り、X・Facebook・LINE でシェアしたときのカードの見え方を再現します。og:image は実際に取得して、形式・寸法・容量が各サービスの条件を満たすかも判定します。
無料・登録不要結果は保存しません(ログのみ 30 日)更新:
結果はどう読めばよいですか?
上から「見え方のプレビュー」「判定」「見つかったタグ」の順に並びます。まず判定の fail と warn を直し、プレビューで見出しと画像が意図どおりかを確かめます。info は採点外の参考情報で、無くてもカードは出ますが、書いておくと表示が安定します。
プレビューは、X・Facebook・LINE のカードの形をこのページ上で組み立てた目安です。見出し・説明・画像は、 サービスごとに選び方を変えています。Facebook と LINE は og:title → <title>、og:description → meta description、画像は og:image だけで、twitter: のタグは読みません。X は twitter:title → og:title、twitter:image → og:image のように、twitter: のタグを先に見ます。どの値がどこから来たかは「実際に使われる値」に出ます。
画像は当ツールのサーバーで取得し、形式・寸法・容量を画像のバイト列から読み取っています。og:image:width などの タグに書かれた数字ではなく、実物の寸法です。取得できなかった画像や、1.5MB を超える画像はプレビューを省略し、 代わりに URL と寸法を表示します。
どんな基準で判定していますか?
og:title と og:image が無い、og:image が http(s):// から始まらない、画像を取得できない・画像でない場合は fail です。og:description が無い、画像が http 配信・600×315px 未満・5MB 以上の場合は warn、og:url・og:type・og:site_name・twitter:card が無い場合は info です。
| 項目 | 判定 | 条件 |
|---|---|---|
og:title | fail | 無い(空の値も無いとみなす) |
og:description | warn | 無い |
og:image | fail | 無い、または http:// か https:// から始まらない(相対パス・//cdn… など) |
og:image | warn | http:// の URL(暗号化されていない) |
| 画像の取得 | fail | 取得できない、HTTP 400 以上、中身が画像でない、SVG |
| 画像の形式 | warn | JPEG・PNG・GIF・WebP 以外(AVIF など) |
| 画像のサイズ | warn | 幅 600px 未満または高さ 315px 未満 |
| 画像の縦横比 | info | 1.80:1〜2.05:1 の範囲外(切り取られて表示される) |
| 画像の容量 | warn / fail | 5MB 以上は warn(X の上限)。8MB 超の fail(Facebook の上限)は、content-length で容量が分かる場合だけ判定(取得は 5MB で打ち切るため) |
og:url | info | 無い |
og:type | info | 無い(Facebook は website とみなす) |
twitter:card | info / warn | 無いと info、summary・summary_large_image・app・player 以外の値は warn |
og:site_name | info | 無い |
| og: タグの属性 | info | og: タグが property ではなく name 属性で書かれている |
og:title と og:image を fail にしているのは、OGP の仕様(ogp.me)が必須とするタグで、欠けるとカードの見出しや 画像が各サービスの推測任せになるからです。同じく必須の og:type と og:url は info にとどめています。og:type は 未指定なら Facebook が website とみなし、og:url はカードの見た目ではなく、いいね・シェア数をまとめる基準の URL として 使われる(Facebook)ためです。縦横比の 1.80〜2.05 は、Facebook の 1.91:1 と X の 2:1 の両方でほぼ 切れずに収まる範囲として当ツールが決めた目安です。
info は採点の対象外です。画像の取得が当ツールのリクエスト上限(8 件)に達して確認できなかった場合も、「取得できない」とは断定せず info として「未確認」と表示します。
各サービスで推奨される画像サイズは?
1200×630px(縦横比 1.91:1)の PNG か JPEG を、数百 KB 程度に収めるのが無難です。Facebook は 1200×630px 以上を推奨し、大きい画像で出すには最低 600×315px が必要です。X の大きい画像カードは 2:1 が基準で、5MB 未満の JPG・PNG・WEBP・GIF に対応します。
| サービス | 推奨・基準 | 最小 | 上限 | 形式 |
|---|---|---|---|---|
| 1200×630px 以上・1.91:1 | 600×315px(大きい画像で表示する場合)/200×200px(受け付ける最小) | 8MB | 画像ガイドに記載なし | |
| X(summary_large_image) | 2:1 | 300×157px | 4096×4096px・5MB 未満 | JPG・PNG・WEBP・GIF(GIF は最初のコマだけ。SVG 不可) |
| LINE | 開発者向け FAQ に数値の記載なし | — | — | — |
1200×630px は Facebook の推奨サイズで、X の 2:1 にもほぼ合います(上下がわずかに切れる程度)。文字やロゴは端に寄せず、 中央寄りに置くとどのサービスでも切れにくくなります。LINE は og:title・og:description・og:image の 3 つだけを使うと開発者向け FAQ で説明していますが、画像サイズの数値は記載されていません。
Facebook は、画像を一度クロールするまでカードに画像を出せないとしています。og:image:width と og:image:height を書いておくと、初回のシェアから画像を表示できると案内されています。
プレビューと実際のシェア表示が違うのはなぜですか?
各サービスが一度読み取ったカードを保存(キャッシュ)しているためです。OGP を直しても、再取得されるまで古いカードが出ます。Facebook はシェアデバッガーで再取得を依頼でき、X はおよそ 7 日ごとに読み直します。画像は URL 単位で保存されるため、画像を替えたら URL も変えるのが確実です。
このツールは毎回ページを取得し直すので、今の HTML に基づく見え方を示します。一方、SNS は以前に読み取った カードを使い続けることがあります。Facebook は画像を URL ごとにキャッシュし、URL が変わらない限り更新しないと明記しています。 ページの内容は シェアデバッガーに URL を入れて再取得できます。X はカードの情報をおよそ 7 日ごとに読み直し、画像も URL 単位でキャッシュします。
LINE はかつて公式のキャッシュ削除ツール「PagePoker」(poker.line.naver.jp)を提供していましたが、2026 年 9 月時点でこのドメインは 名前解決できず、使えません。公式の代わりのツールは確認できませんでした。画像を替えたときは、画像の URL を変えるのが確実です。
OGP でよくある間違いは?
多いのは、og:image を相対パスで書く、画像がログインや robots.txt の拒否で取得できない、画像を http で配信している、画像が小さすぎる、の 4 つです。全ページで同じ画像を使うのは誤りではありませんが、ページごとの画像にするとシェアされたときに内容が伝わりやすくなります。
- 相対パスの og:image: OGP の仕様(ogp.me)では URL は http:// か https:// の URL です。
/img/ogp.pngや//cdn.example.com/…のように書くと、ページ URL を補って読んでくれるとは限りません。当ツールは解決後の URL で画像を 確認しますが、判定は fail にします。 - 取得できない画像: ログインが必要な場所や、robots.txt で拒否したパスに画像を置くと、SNS のクローラーは取得できません。 X のクローラー(Twitterbot)は robots.txt に従うと明記しています。当ツールで取得できても、SNS のクローラーだけ拒否されていることがあるので、 robots.txt も確認してください。
- http の画像: 暗号化されずに配信される画像は、HTTPS のページに埋め込むと混在コンテンツとして扱われ、 表示する側によっては読み込まれません。画像も HTTPS で配信します。
- 小さすぎる画像: 600×315px 未満だと、Facebook では大きな画像のカードになりません。ロゴなどの小さな正方形の画像を そのまま指定しているケースが典型です。
- 全ページで同じ画像: 誤りではなく、カードは正しく出ます。ただ、どの記事を貼っても同じ画像になるため、 記事や商品のページは固有の画像にすると内容が伝わりやすくなります。
<!-- ✕ 相対パス: 読み取るサービスがページ URL を補ってくれるとは限らない -->
<meta property="og:image" content="/img/ogp.png">
<!-- ○ https:// から始まる絶対 URL。寸法も書いておくと初回から表示されやすい -->
<meta property="og:image" content="https://example.com/img/ogp.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="画像の内容の説明">タグの意味や Next.js での書き方は、OGP の設定と最適な画像サイズで詳しく解説しています。
よくある質問
OGP を直したのに、SNS の表示が変わりません。
SNS 側に古いカードが保存されているためです。Facebook はシェアデバッガーに URL を入れて再取得を実行します。画像を差し替えたときは、画像の URL を変える(ファイル名を変える、末尾にクエリを付けるなど)と、別の画像として読み直されます。
X でカードに説明文が出ないのは設定ミスですか?
いいえ、X の仕様です。X は 2023 年 10 月に見出しと説明を外したあと、見出しを画像の上に重ねる形で戻し、2025 年 5 月にも通常の投稿はこの形だと説明しています。説明文は出ません。X は表示をよく変えるので、実際に投稿して確かめてください。
LINE のキャッシュを消す方法はありますか?
LINE はかつて公式のキャッシュ削除ツール「PagePoker」を提供していましたが、2026 年 9 月時点でそのドメインは存在せず、使えません。公式の代わりのツールも確認できませんでした。確実なのは、画像の URL を変えることと、時間をおいて再度確認することです。
入力した URL にはどのようにアクセスしますか?
入力された URL に通常の GET リクエストを送ってページを 1 回取得し、og:image(無ければ twitter:image)があればその画像も 1 回取得します。リダイレクトを含めて最大 8 リクエスト、転送量はそれぞれ 5MB までです。結果は保存しません(入力内容は障害調査用のログに 30 日残ります)。