Instagram メディアIDコンバーター
はじめに
ToollectのInstagram メディアIDコンバーターは、1つのことを正確に行います – Instagramのショートコードを数値メディアIDに変換し、またその逆を、双方向・完全な精度で行います。ショートコード – DIPPWkUh7Rj – を貼り付けるとID 3607169348072354915 が返り、その数値を貼り付けるとショートコードが返ります。代わりに完全なInstagramリンクを貼り付ければ、コンバーターはURLからショートコードを抽出し、両方の値に加えて正規リンクを生成します。
変換は検索ではなく、純粋に数学の問題です。InstagramはメディアIDをbase64url – コンパクトな数値表記 – でエンコードしているため、変換はネットワークリクエストもAPIキーもアカウントもなしに、ブラウザ内で即座に完了します。唯一の難しさは大きさです – メディアIDは19桁で、通常のJavaScript数値の正確な範囲を超えるため、このツールはすべての演算をBigIntで行い、決して丸めません。
結果パネルには3つのフィールド – ショートコード、メディアID、標準URL – が表示され、それぞれにコピーボタンが付いています。何を貼り付けても、変換の反対側が入力中に表示され、共有やアーカイブ用の正規URL instagram.com/p/{shortcode}/ が常に生成されます。
使用例
ショートコードとIDの変換は、驚くほど多様な作業の中に現れる小さな操作です。
データ分析とAPI作業
Instagramの内部API、データベースエクスポート、サードパーティの分析ツールは数値IDでメディアを識別しますが、公開リンクはすべてショートコードを帯びています。メディアIDのスプレッドシートと共有URLのリストが出会うとき、このコンバーターが橋渡し役になります – ショートコードを貼り、IDを読み取り、エクスポートと照合します。逆方向も機能します – ダウンロードから得たIDはショートコードになり、ショートコードから標準URLになります。
リンクアーカイブとコンテンツライブラリ
投稿をアーカイブするチーム – ソーシャルメディアマネージャー、研究者、ジャーナリスト – には、メディアの安定したキーが必要です。ショートコードがそのキーであり、数値IDへの変換は、URL短縮やアドレス変更を生き延びる2つ目の一意な識別子を提供します。両方を保存しておけば、将来の検索はどちらの側からでも始められます。
メディアの検証と重複排除
無関係に見える2つのショートコードが同じ投稿を指していることがあります。変換は双方向で正確なので、2つのショートコードをデコードしてIDを比較すれば解決します – IDが同じならメディアも同じです。同じチェックで、リールURL・ユーザープレフィックス付きリンク・instagr.amシェアが、同じショートコードを帯びていれば同じ内容だと確認できます。
開発者とツール製作者
Instagramリンクを取り込むコードは、他のサービスに問い合わせるためにメディアIDを必要とすることがよくあります。ここにURLを貼って抽出されたIDをコピーするのは、統合のテストやフィードの監査に2秒で済む方法です – そして正規URLの出力は、スクリプトが遭遇するあらゆるメディアルート・ドメイン・プレフィックスに対して、クリーンで統一されたアドレスを提供します。
仕組み
このツールは入力中に動作します – 押すボタンはありません。キーを押すたびに入力を分類し、変換します:
- 入力を分類 – テキストを3つのパターンと照合します – 素のショートコード(
DIPPWkUh7Rj)、数値ID(3607169348072354915)、またはルート(p、reel、reels、tv)の後にショートコードが続く完全なInstagram URL。 - 反対側へ変換 – ショートコードは数値IDへデコードされ、数値IDはショートコードへエンコードされます。入力がURLの場合は、パスからショートコードを抽出してデコードします。
- 正規URLを構築 – 標準形式
instagram.com/p/{shortcode}/を、いずれの場合もショートコードから組み立てます。 - レンダリング – 3つの結果行が埋まり、無効な入力メッセージはテキストが何にも一致しないときだけ表示されます。
この4つのステップはすべて、ローカルでの文字列と数値の作業です。何も読み込まれず、リクエストも送信されず、変換は構造的に正確です – 同じショートコードは常に同じIDを生成し、そのIDは常に元のショートコードにエンコードし直されます。
認識可能なURLの範囲は見た目より広いです – 3つのドメイン、任意のサブドメイン、ユーザープレフィックス、埋め込みエイリアスは、すべて同じショートコードに収束します。完全な契約は、後述の「対応URL形式」にあります。
対応URL形式
コンバーターは、メディアショートコードを帯びるあらゆる形式のURLを認識します。文法は意図的に instagram.com/p/… より広くしています – Instagramは同じメディアを複数のドメインとパス形式で配布しており、それらはすべて同じように変換されます。
対応する形式
| 形式 | 例 | 判定結果 |
|---|---|---|
| 素のショートコード | DIPPWkUh7Rj |
ショートコード |
| 数値メディアID | 3607169348072354915 |
メディアID |
| 投稿 | instagram.com/p/DIPPWkUh7Rj/ |
URL → ショートコード |
| リール | instagram.com/reel/DIPPWkUh7Rj/ |
URL → ショートコード |
| リール表示 | instagram.com/reels/DIPPWkUh7Rj/ |
URL → ショートコード |
| IGTV | instagram.com/tv/DIPPWkUh7Rj/ |
URL → ショートコード |
| 埋め込みエイリアス | instagram.com/p/DIPPWkUh7Rj/embed/captioned/ |
URL → ショートコード |
| ユーザープレフィックス付き | instagram.com/some_user.123/p/DS7w7fokujz/ |
URL → ショートコード |
| 短縮ドメイン | instagr.am/p/DIPPWkUh7Rj/ |
URL → ショートコード |
| ダイレクトリンクドメイン | ig.me/reel/C0HpSipMp_k/ |
URL → ショートコード |
どのメディアルートもどのドメインでも機能します – p、reel、reels、tv は instagram.com、instagr.am、ig.me で認識され、ユーザープレフィックスもそれぞれで受け付けます – instagr.am/some_user.123/tv/C0HpSipMp_k/embed/ は素の正規形式と同様に有効です。https:// プレフィックス、www や m のサブドメイン、末尾のスラッシュはすべて任意です。どの形式でもショートコードが抽出され、残りの2つの結果 – IDと正規URL – は常に同じになります。
拒否される形式
契約のもう一方の側は、コンバーターが拒否するものとその理由です:
| URL | 拒否される理由 |
|---|---|
instagram.com/some_user.123/ |
プロフィール – ショートコードなし |
instagram.com/explore/tags/photography/ |
ハッシュタグページ – ショートコードなし |
instagram.com/stories/some_user/1234567/ |
ストーリー – ショートコードなし |
ig.me/m/414231852796565/ |
DMスレッド – スレッドIDでありメディアではない |
ig.me/u/some_user.123/ |
プロフィールの短縮リンク – ショートコードなし |
l.instagram.com/?u=…&e=… |
シェア用ラッパー – 行き先はパラメータの中 |
指針は短いものです – パスがメディアルートの後にショートコードで終われば変換し、それ以外 – プロフィール、タグ、ストーリー、スレッド、ラッパー – は無効な入力メッセージを表示します。それらのリンクはコンバーターのバグではなく、base64変換を適用するショートコードがそもそもないだけです。Instagram URLパーサーは、まさにそうしたアドレス群のために存在します。
エンコーディングの仕組み
ショートコードは、別の記数法で書かれた数値です。その仕組みを理解すると、変換がなぜ正確なのか、アルファベットがなぜこの形なのか、BigIntがなぜ必須なのかが説明できます。
アルファベット
Instagramは基数64で数値を書き、この順序で次のアルファベットを使います:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_
これはbase64urlアルファベットです – 基数64でおなじみのA–Z、a–z、0–9に対し、URLに不向きな + と / を - と _ に置き換えたものです。桁の値ごとに1つ、ちょうど64文字あり、URL内でエスケープが必要な文字はありません。0番目は A、63番目は _ です。
演算
ショートコードを左から右に読むことは、基数64の数値を読むことです:
DIPPWkUh7Rj = 3×64^10 + 8×64^9 + 15×64^8 + 15×64^7 + 22×64^6 + ... + 35×64^0
= 3607169348072354915
各文字はアルファベット上の位置に、桁の位に対応する64のべき乗を掛けた値として寄与します。逆方向では、IDを64で繰り返し割り、各余りが右から桁になります:
3607169348072354915 / 64 → 余り 35 → 'j' (最後の桁)
…以下、位をたどって 3 → 'D' まで
基数64の変換は全単射 – すべての整数がちょうど1つの表現を持ち、すべての表現がちょうど1つの整数にデコードされる – ため、往復は保証されます – DIPPWkUh7Rj は常に 3607169348072354915 にデコードされ、そのIDは常に DIPPWkUh7Rj にエンコードし直されます。ルックアップテーブルもAPIも曖昧さもありません。
なぜ11文字か
基数64の11桁は、64^11 ≈ 2^66 までの値を保持できます。実際のメディアIDは約2^62までで、十分な余裕をもって範囲内に収まります – そのためショートコードは10〜12文字で、今日の標準は11文字です。
なぜBigIntか
この演算には、JavaScriptの通常の数値型では保持できない数値が必要です。正確な整数の限界は9,007,199,254,740,991 – 約9×10^15 – ですが、実際のメディアIDは4×10^18に迫り、400倍以上大きくなります。通常の数値は末尾の桁を丸めます – 3799845905265518835 は 3799845905265518600 になり、丸められた値はまったく別のショートコードにエンコードし直されます。このコンバーターはすべての乗算・除算・剰余をBigIntで行うため、どの桁も近似されません。
具体例
リールURL instagram.com/reel/C0HpSipMp_k/ を例にします:
reelルートがメディアであることを確認し、ショートコードC0HpSipMp_kを抽出します。- 各文字を位置にマッピングします –
C→ 2、0→ 52、H→ 7、p→ 41、以下同様。 - 位置をBigIntで基数64の整数に畳み込みます –
3244743650599673828。 - 標準URL
instagram.com/p/C0HpSipMp_k/を組み立てます。 3244743650599673828を再度貼り付けると変換は逆回転し、IDは正確にC0HpSipMp_kに分解されます。
使い方
コンバーターはボタンなしで動作します – 結果はキーを押すたびに更新されます:
- 入力するか貼り付けます – ショートコード、数値メディアID、または3つのドメインのいずれかでの投稿・リール・IGTVのInstagram URL。ユーザー名プレフィックスの有無は問いません。
- 結果パネルを確認します – ショートコードの行とメディアIDの行は、何を入力しても常に変換の両側を表示します。
- 標準URLを確認します – 正規形式
instagram.com/p/{shortcode}/が自動生成されます。 - 必要なものをコピーします – 各行にコピーボタンが付いています – ショートコード、メディアID、またはURL。
送信も待機も、有効な入力に対するエラー表示もありません – 3つの形式のどれにも一致しないテキストだけが無効な入力メッセージを表示し、入力が再び有効になればすぐに消えます。
チュートリアル
最初から最後まで、完全な変換をひととおり実行します。
ステップ1 – ショートコードをIDに変換する。 入力に DS7w7fokujz を貼り付けます。メディアIDの行が 3799845905265518835 で埋まり、標準URLの行は https://www.instagram.com/p/DS7w7fokujz/ を表示し、各行の横のコピーボタンが点灯します。メディアIDのコピーボタンをクリックすると、19桁の数値がクリップボードに入ります。
ステップ2 – IDを逆変換する。 入力を空にして 3799845905265518835 を貼り付けます。ショートコードの行は DS7w7fokujz を表示し、URLの行は先ほどと同じ正規リンクを表示します – 変換が検索ではなく正確な往復である証拠です。
ステップ3 – URLから変換する。 アプリから完全なリンク – https://www.instagram.com/reel/C0HpSipMp_k/?igsh=cXdlbg%3D%3D – を貼り付けます。コンバーターはメディアルートとショートコード以外をすべて無視します – メディアIDの行は 3244743650599673828、URLの行は https://www.instagram.com/p/C0HpSipMp_k/ を読み取ります。トラッキングパラメータは無関係です – ツールに必要なのはパスだけです。
ステップ4 – IDをデータベースエクスポートと照合する。 APIエクスポートのメディアIDスプレッドシートを開き、3244743650599673828 を探します – 貼り付けたリールは、データ内のレコードと同じメディアです。逆方向では – エクスポート内のIDを見つけ、ここに貼り付ければ、ショートコードと正規URLからブラウザでそのメディアを正確に開けます。
ステップ5 – ルート・プレフィックス・ドメイン間で検証する。 https://www.instagram.com/p/DIPPWkUh7Rj/ を貼り、次に https://www.instagram.com/reel/DIPPWkUh7Rj/、次に https://instagr.am/p/DIPPWkUh7Rj/、最後にユーザープレフィックス付きリンク https://www.instagram.com/some_user.123/p/DIPPWkUh7Rj/ を貼ります。4つすべてが同じID 3607169348072354915 にデコードされます – 同じメディア、4つのアドレス、1つの正規URL。
プロのヒント
- メディアIDを安定したキーとして保存する。 ショートコードはメディアの公開された顔であり、数値IDはすべてのAPIとデータベースにおける正体です。IDをURLと並べて保存しておけば、将来の検索はリンクがどう共有されたかに依存しません。
- 往復でデータを確認する。 エクスポートのIDとURLのショートコードが一致しない場合、ショートコードをデコードして比較してください – 変換は正確なので、差があるならメディアは本当に別物です。
- URLのどちらの側からでも変換する。 投稿・リール・リール表示・IGTVのルートは、異なる動詞の背後で同じショートコードを運びます。どのバリアントを受け取っても、結果のIDと正規URLは同一です。
- どのドメインでも同じメディア。 instagr.amのリンクもig.meのリンクもinstagram.comのリンクも、ショートコードが同じなら同じIDにデコードされ、ユーザープレフィックスは何も変えません。重複排除の際に、アドレスの見た目で1つの投稿が複数に見えないようにしてください。
- 標準URLで共有する。 /p/ 形式は投稿・リール・IGTVのどのメディアもレンダリングするため、URL出力は転送・埋め込み・記録に最も安全なアドレスです。
- コンバーターは1件単位のバッチです。 変換は即時かつローカルなので、ショートコードやIDのリストを処理するのは、貼り付けとコピーを繰り返すだけの速いサイクルです – 読み込みもレート制限も行間の待ち時間もありません。
- Instagram URLパーサーと組み合わせる。 同じリンクをパーサーに貼れば完全な分解 – タイプ、ユーザー名、詳細、クリーンなURL – が得られ、特定のショートコードのIDだけが必要なときはこのコンバーターを使います。
代替手段
ショートコードとメディアIDの間を行き来する他にはどんな方法があるでしょうか。実際の選択肢は次のとおりです:
| 方法 | 双方向 | 完全な精度 | URL対応 | データが外部に送られる |
|---|---|---|---|---|
| 手作業のbase64デコード | なし(誤りやすい) | なし | なし | なし |
| ブラウザコンソールのスニペット | あり(自分で書けば) | 場合による | なし | なし |
| 汎用base64コンバーター | なし – アルファベットが違う | なし | なし | あり |
| 他のオンラインコンバーター | 時々 | まちまち | 時々 | あり(多い) |
| このツール | あり(保証付き) | あり(BigInt) | あり | なし |
手作業のデコードは64のべき乗を使った電卓作業 – アルファベットの位置、乗算、割り算の連鎖 – で、桁を1つでも間違えると結果全体が無効になります。コンソールのスニペットは機能し得ますが、base64のループを毎回自分で書くことになります。汎用base64コンバーターはむしろ誤解を招きます – 標準のbase64は別のアルファベットとパディング規則でバイトをデコードするもので、その出力はInstagramのメディアIDとは無関係です。他のショートコードコンバーターは精度がまちまちで、多くはIDを浮動小数点数に押し込んで、微妙に誤ったショートコードを生成します。このツールは、ショートコード・ID・完全なURLのいずれからでも、ブラウザの外に何も出さずに、双方向の正確な往復を保証する唯一の選択肢です。
公式APIと比較して
この変換は意図的にオフラインであり、ネットワーク系の選択肢が何を追加できて何を追加できないかを明記する価値があります:
| 能力 | oEmbed | Graph API | このツール |
|---|---|---|---|
| ショートコード → メディアID | なし | 間接的 | あり(正確) |
| メディアID → ショートコード | なし | なし | あり(正確) |
| 両方からの正規URL | なし | 間接的 | あり |
| キャプション・所有者・再生回数 | あり | あり | なし |
| メディアの存在確認 | 部分的 | あり | なし |
| APIキー / ログイン | トークン | あり | 不要 – リクエスト0回 |
oEmbedは このメディアの名前は何か に答えます – トークン認証付きの1回の呼び出しでタイトル、作者、サムネイルを返します。Graph APIはメディアについてのすべてに答えますが、トークン・ログイン・クォータのコストがかかります。どちらもショートコードを数値メディアIDに直接変換しません。Graph APIのノードIDはメディアIDとは別物で、メディアIDを取り出すには通常、URLを自分で分解する必要があります – まさにこのツールが自動化しているステップです。この3つは異なる質問に答えます – メディアの数値的な正体にはローカルコンバーターで十分であり、それ以外にはAPIが別サービスとして残ります。
コンバーターとURLパーサーの違い
Toollectは、どちらもリンクを受け取り、どちらもショートコードを知っている2つのInstagramツールを公開しています。両者は競合せず補完し合います – それぞれがどの答えを与えるかを表に示します:
| 質問 | Instagram URLパーサー | このコンバーター |
|---|---|---|
| このリンクは何のタイプか? | あらゆるタイプ – 投稿・リール・プロフィール・ストーリー・タグ・DM・リダイレクト | 1つだけ – メディアショートコードを帯びているか? |
| メディアIDを出すか? | メディアリンクならあり | メディアリンクならあり – それがすべての仕事 |
| トラッキングパラメータを除去するか? | あり – igsh、utm_*、ラッパーの痕跡 | 不要 – 出力は常に新しい正規URL |
| l.instagram.comラッパーを開くか? | あり(外部の行き先も) | なし – 拒否 |
| プロフィール・タグ・ストーリー・DMリンク | タイプと詳細に分解 | 無効として拒否 |
| 素のショートコードまたは数値ID | ショートコードのみ | 両方、双方向 |
パーサーはゼネラリストです – リンクについてのすべてを伝え、それをクリーンアップし、シェア用ラッパーを開きます。コンバーターはスペシャリストです – ショートコードをIDに、その逆に、どちらの側からでも変換し、利便性のためにURL文法の全体を受け入れます。同じメディアリンクを両方に通すとIDは一致し、bioリンクを通すとパーサーは開き、コンバーターは丁寧に辞退します。ワークフローが両方の答えを必要とするとき、組み合わせは2秒で済みます – そして両ツールとも100%クライアントサイドでリクエストはゼロです。
できないこと
限界を明記することは信頼性の一部です – コンバーターに過剰な信頼を寄せてはなりません:
- メディアを取得しません。 リクエストなし – 変換はブラウザ内のbase64演算であり、投稿がアクティブか、削除済みか、そもそも存在しないかをツールは知ることができません。
- ユーザー名やプロフィールを解決しません。 プロフィールリンクはショートコードを帯びないため、対象外となり無効な入力メッセージを表示します。
- シェア用ラッパーを開きません。 bioリンク
l.instagram.com/?u=…&e=…は行き先をエンコードされたパラメータに隠すため、パスにショートコードがなく、リンクは拒否されます。開くのはURLパーサーの仕事です。 - DMやプロフィールの短縮リンクを扱いません。
ig.me/m/{id}はDMスレッド、ig.me/u/{username}はプロフィールであり、どちらもメディアではないため、どちらも変換されません。 - 動画や画像を表示しません。 生成される標準URLはアドレスであり、コンテンツではありません – 開くのはブラウザの仕事です。
- 推測しません。 3つの形式(ショートコード、ID、メディアURL)のどれにも一致しない入力は、部分的な結果や近似ではなく、無効な入力メッセージを返します。
コンバーターが約束すること – 正確な双方向変換、URL抽出、正規出力 – は演算自体が保証しており、それ以外は意図的に他のツールに委ねられています。
トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
| 結果パネルに何も表示されない | テキストがショートコードでもIDでもメディアURLでもない | 11文字の素のショートコード、数値ID、または3つのドメインのいずれかでのメディアルート(p、reel、reels、tv)のリンクを貼り付ける |
| プロフィールやハッシュタグのリンクがエラーを表示する | それらのルートはショートコードを帯びない | コンバーターはメディアのみを扱う。プロフィールとタグにはInstagram URLパーサーを使う |
| bioリンク(l.instagram.com/…)がエラーを表示する | シェア用ラッパーは行き先をパラメータに隠す – パスにショートコードがない | エンコードされた行き先を解決するInstagram URLパーサーで開く |
| ig.me/u/… や ig.me/m/… のリンクがエラーを表示する | それらの短縮リンクはプロフィールとDMスレッドであり、メディアではない | 変換の対象外 – プロフィールとスレッドにショートコードはない |
| 貼ったIDから見た目の違うショートコードが返る | そのIDは本当に別のメディアのもの | 変換は正確 – 異なるIDは常に異なるショートコードにエンコードされる |
| URLの行が貼り付けたものと違う | ツールが正規の/p/形式に正規化する | 意図どおり – /p/は投稿・リール・IGTVを同じようにレンダリングする |
| IDが特定の桁で始まると思っていた | 異常ではない – IDに固定の長さはない | base64の値はその数値を表すだけ。長さが変わるのはショートコード側で、10〜12文字 |
プライバシーとデータ処理
このコンバーターは、Toollectツールの中で最も厳格なプライバシーモデルで動作します – ネットワークリクエストを一切行いません。
- 何もアップロードされません。 変換は完全にブラウザ内で実行されます。貼り付けたショートコード・ID・URLを含むリクエストが、どこかに送信されることは決してありません。
- アカウントなし、分析なし。 ログインもトラッキングスクリプトも、変換したメディアの記録もありません。
- 何も保存されません。 ツールは訪問間で状態を保持しません – タブを閉じれば変換も消えます。
- サードパーティのスクリプトなし。 ページは自身のコードだけで動作します – 埋め込みウィジェットもシェアボタンも外部呼び出しもありません。
サーバーに送りたくないリンクやIDから始まるどんなワークフローにとっても、ここがデバイスの外に何も出さずに変換が完了するページです。
技術仕様
詳細:
- 変換 – Instagramアルファベット(
A–Z a–z 0–9 - _)でのbase64url演算、双方向で全単射、近似なし - 精度 – すべての演算で
BigIntを使用。JavaScriptの安全な整数範囲(9,007,199,254,740,991)を超えるIDでも正確 - 入力形式 – 10〜12文字の素のショートコード(
DIPPWkUh7Rj)、数値メディアID(3607169348072354915)、またはinstagram.com・instagr.am・ig.meのメディアルートp・reel・reels・tvのInstagram URL – プロトコル、サブドメイン(www、m)、ユーザープレフィックス、埋め込みエイリアスは任意。他のルートとドメインはすべて拒否 - 出力 – ショートコード、数値メディアID、正規URL
https://www.instagram.com/p/{shortcode}/、それぞれにコピーボタン付き - 処理 – 100%クライアントサイドのJavaScript、ネットワークリクエストゼロ、APIキーなし、サーバーなし
- ブラウザ – すべてのモダンブラウザ(BigInt、Clipboard API)
機能
- Instagramのショートコードを数値メディアIDへ、双方向で変換します
- 素のショートコード、数値ID、またはinstagram.com・instagr.am・ig.meの投稿・リール・IGTVの完全なURLに対応します
- JavaScriptの安全な整数範囲を超えるIDもBigIntで完全な精度でデコードします
- どちらの入力からも正規のinstagram.com/p/... URLを生成します
- ショートコード・メディアID・標準URLをワンクリックでコピーできます
- ネットワークリクエストやAPIキーを一切使わない、即時のローカル変換です
- post・reel・reels・IGTVの4つのメディアルートを識別します