X(Twitter)連結解析器

社群媒體 網路
已解析的 URL
類型
使用者名稱
內容 ID
變體
已刪除的參數

介紹

X(Twitter)連結天生混亂。同一條推文可能以 twitter.com 連結、x.com 連結、帶五個追蹤參數的 App 分享連結、熱門話題點擊的搜尋連結、/photo/1 變體連結或任何語言的話題標籤連結的形式出現。內容完全相同 – 變化的只是 URL 的形式。X(Twitter)連結解析器是一款免費線上工具,能識別 20 多種 X 連結格式,提取推文 ID,移除追蹤雜訊,並將連結重建為乾淨的規範連結、官方嵌入連結或分享 intent 連結。

這款解析器面向所有經常處理 X 連結的人:發布連結的社群媒體營運者、歸檔連結的社群營運者、追蹤活動的行銷人員、大規模收集連結的研究人員,以及將連結存入資料庫的開發者。與其手動清理每條連結,或依賴一個隱藏其行為的短鏈服務,不如貼上連結,直接看到解析器發現了什麼 – 連結類型、使用者名稱、內容 ID、顯示變體和被移除的參數。

這個工具有兩個特點。它即時分析,每次按鍵都更新結果,並且零網路請求 – 連結永遠不會離開你的瀏覽器。沒有伺服器,沒有 API 配額,也沒有你貼上內容的日誌。

使用場景

發布與活動。 在把 X 連結放入電子報、部落格文章或廣告評論之前,用規範格式清理它。sttwclid 等追蹤參數與分享工作階段綁定,很快就會失效並污染分析報告。發布規範連結能讓你的內容連結保持穩定、指標保持誠實。

歸檔與去重。 如果你把 X 連結存入試算表、CMS 或研究資料集,同一條推文可能以數十種 URL 形式出現 – 不同的網域、變體和參數串。解析器將所有形式規範化為一種規範形式,因此 twitter.com/jack/status/20x.com/jack/status/20 以及帶 ?s=20&t=… 的同一連結會收斂為一個穩定識別碼,供你去重。

熱門話題監控。 話題點擊連結是 X 中最混亂的 URL:x.com/search?q=%23Gewitter&src=trend_click&vertical=trends。監控表中的每條推文都以這種形式到達。解析器識別該模式,將單話題標籤查詢規範化為規範的話題標籤頁面,並移除來源參數 – 貼上一次就能把話題連結變成乾淨、可分享的 URL。

網站嵌入。 當你在自己的網站上發布推文時,嵌入格式會產生 X 官方的小元件 URL(platform.twitter.com/embed/Tweet.html?id=…)。將其放入 iframe,X 就會以官方設計渲染推文 – 無需第三方嵌入服務,無需抓取。

資料衛生。 對開發者和研究者來說,這個解析器也是一份規格參考 – 被移除參數的清單精確顯示 X 今天附加了哪些追蹤鍵,支援的格式表則記錄了工具識別的每一條路由。

X 連結的結構

一條 X 連結有三個值得理解的部分:主機、路徑和查詢字串。

看看行動應用程式分享的真實推文連結:

https://twitter.com/markito0171/status/2089759704335482961/video/1?s=20&t=FakeNonce&ref_src=twsrc%5Etfw

主機 twitter.com(或 x.commobile.twitter.com)告訴解析器連結屬於哪個家族。路徑 /markito0171/status/2089759704335482961/video/1 指明路由 – 這裡是一條帶影片顯示變體的推文。查詢字串混合了兩種解析器處理方式截然不同的參數:

參數 類型 解析器的處理
2089759704335482961(路徑) 識別 保留 – 這是推文的 Snowflake ID
/video/1(路徑) 顯示變體 保留推文,記錄變體 – 同一條推文以影片形式渲染
s=20 追蹤 移除 – 分享面板的時間戳記
t=FakeNonce 追蹤 移除 – 分享 nonce 權杖
ref_src=twsrc^tfw 追蹤 移除 – 來源引用(此處為 Twitter for Web 嵌入)

識別參數告訴你連結指向哪一條推文、個人主頁、列表、Space、活動或話題標籤。其餘一切都是上下文 – 你如何到達、來自哪個應用程式、哪個檢視處於開啟狀態。解析器保留識別、丟棄上下文,然後報告被移除的鍵,讓清理過程可驗證。

兩個網域。 X 在 2023 年從 Twitter 更名為 X,x.com 在 2024 年成為主網域。兩個網域提供相同的內容並相互重新導向,從任一位置複製的連結都完全相同地運作。解析器同時接受兩者,外加舊的 mobile.twitter.com 子網域,並且始終在 x.com 上輸出規範形式 – 這是 X 本身今天重新導向到的網域。

內部的 /i/ 路由。 第二個連結家族位於 /i/ 之下:x.com/i/web/status/{id}(無使用者名稱開啟推文 URL 時網頁應用程式使用的推文路由)、x.com/i/spaces/{id}(即時音訊 Space)、x.com/i/lists/{id}(按 ID 的列表)和 x.com/i/events/{id}(時間軸和 Moments)。解析器識別其中每一條並將其還原為規範形式。

運作原理

分析完全在你的瀏覽器中進行,沒有網路請求,也沒有伺服器往返。每次按鍵,連結都會經過三個階段:

  1. 主機比對。 連結與 X 網域比對:twitter.comx.com,帶 mobile.www. 等任意子網域。evilx.com 之類的相似網域會被拒絕。
  2. 路由比對。 路徑被拆分為區段,與已知路由表比對 – {使用者}/status/{id}i/web/statusi/spacesi/listsi/eventshashtagsearch、個人主頁根路徑和主頁標籤路徑。
  3. 查詢分析。 搜尋連結的 q 參數被解碼和分類,追蹤參數則按三條規則識別並加入移除清單。

每個提取的值在被接受前都會通過嚴格模式驗證:推文 ID 必須是 15–19 位數字,使用者名稱是 1–15 個字母、數字或底線,話題標籤在任意 Unicode 文字中最多 30 個字元。任何未通過驗證的內容都會讓解析器報告無效連結,而不是猜測。

因為沒有網路存取,解析器永遠不需要載入狀態,永遠不會遇到速率限制,在你貼上的瞬間就能交付結果。

支援的連結格式

解析器識別七種結果類型下的 20 多種格式。

格式 範例 結果類型
帶使用者名稱的推文 x.com/elonmusk/status/1234567890123456789 tweet
舊網域上的推文 twitter.com/jack/status/20 tweet
行動子網域上的推文 mobile.twitter.com/elonmusk/status/1234567890123456789 tweet
網頁應用程式路由(無使用者名稱) x.com/i/web/status/1234567890123456789 tweet
推文照片檢視 x.com/elonmusk/status/1234567890123456789/photo/1 tweet(變體 photo)
推文影片檢視 x.com/elonmusk/status/1234567890123456789/video/1 tweet(變體 video)
推文語言檢視 x.com/elonmusk/status/1234567890123456789/lang/zh tweet(變體 lang: zh)
推文分析檢視 x.com/elonmusk/status/1234567890123456789/analytics tweet(變體 analytics)
簡單個人主頁 x.com/elonmusk profile
個人主頁標籤 x.com/elonmusk/with_replies profile
按 slug 的列表 x.com/elonmusk/lists/tech-leaders list
按 ID 的列表 x.com/i/lists/1234567890123456789 list
即時 Space x.com/i/spaces/1zqKVZlLKvPJB space
活動或 Moment x.com/i/events/1234567890123456789 event
話題標籤頁面 x.com/hashtag/tech hashtag
Unicode 話題標籤頁面 x.com/hashtag/日本 hashtag
話題標籤搜尋(已規範化) x.com/search?q=%23Gewitter&src=trend_click hashtag
關鍵字搜尋 x.com/search?q=hello+world search

個人主頁標籤被通用地接受:路徑第二段中的任何小寫單字 – with_repliesmedialikesfollowingfollowerslistsmoments 以及任何未來的標籤 – 都解析到個人主頁本身,因為標籤是主頁的檢視而不是獨立的資源。

解析器也會拒絕不屬於可分享 X 內容的路徑。homeexploreloginsettingsmessagesnotifications 等平台功能會產生無效訊息,純數字使用者名稱(x.com/1234567890)、沒有 15–19 位數字的推文 ID(x.com/user/status/1234)或沒有識別的空路徑(x.com/hashtag/)等損壞形式也是如此。完整封鎖清單見「技術規格」一章。

理解 Snowflake ID

每條推文都有一個數字 ID,而這個數字並非隨機。X 以 Snowflake 格式建構推文 ID:一個 64 位元整數,由三部分組成 – 從 2010 年 11 月 4 日 自身紀元起算的 41 位元毫秒時間戳記、10 位元機器識別和每台機器 12 位元的序號計數器。

這在實踐中意味著:

  • ID 編碼了發布的精確毫秒。例如 ID 2089759704335482961 可解碼為 2026 年 8 月的發布時間 – 你可以用任何 Snowflake 解碼器自行驗證,無需 API。
  • ID 從 2010 年的 15 位增長到今天的 19 位,因為時間戳記位元在持續增長。解析器接受 15–19 位,覆蓋了平台的整個歷史。
  • ID 是推文的穩定鍵。與使用者名稱(可能更改)和 URL 形式(千變萬化)不同,Snowflake 永不改變 – 用它來去重資料庫中的連結、搜尋推文或在 CMS 中引用推文。

解析器驗證 ID 的形式但不解碼它 – 解碼時間戳記是專用 Snowflake 解碼器的工作。對連結清理而言,重要的是解析器絕不把隨機數字誤認為推文 ID,也絕不在形式錯誤時猜測。

搜尋連結與話題標籤規範化

當你在 X 上點擊熱門話題或話題標籤時,平台不會把你送到乾淨的 URL。它會把你送到帶編碼查詢的搜尋頁面:

https://x.com/search?q=%23Gewitter&src=trend_click&vertical=trends

q 參數是真正的搜尋查詢 – 這裡是百分比編碼的單個話題標籤 #Gewitter。其餘是到達上下文:src=trend_click 記錄你來自熱門話題,vertical=trends 選擇趨勢檢視。

解析器以兩種方式處理這些連結:

查詢形式 範例 結果
恰好一個話題標籤 q=%23Gewitter 規範化為規範的話題標籤頁面 x.com/hashtag/Gewitter
恰好一個話題標籤,任意文字 q=%23%E6%97%A5%E6%9C%AC(日本) 規範化為 x.com/hashtag/日本
純文字或多個詞 q=hello+worldq=%23foo+%23bar 保持搜尋連結 x.com/search?q=hello%20world

為什麼要規範化?話題標籤搜尋和話題標籤頁面顯示相同的內容,但話題標籤頁面的 URL 穩定、簡短且可分享 – 而且這正是 X 在個人主頁和簡介中使用的形式。規範化讓你不必手動修正表格中的每一條話題連結。

純關鍵字搜尋不會被規範化(任意查詢沒有規範頁面),因此解析器將其保留為搜尋連結,同時仍移除到達上下文(srcverticalf)。q 為空或缺失的搜尋會被拒絕為無效。

我們移除的追蹤參數

X 會向連結附加一長串參數,解析器按三條識別規則移除它們:

  1. 活動參數 – 所有帶 utm_ 前綴的鍵(Google Analytics 慣例):utm_sourceutm_mediumutm_campaignutm_termutm_content
  2. 內部權杖 – 所有帶雙底線前綴的鍵。
  3. 精確清單 – 19 個已知的追蹤、工作階段和導覽參數。

精確清單中最常見的參數:

參數 記錄的內容
s 行動應用程式分享面板的分享時間戳記
t 分享 nonce 權杖,與 s 配對
twclid X 點擊 ID – 點擊來自哪個廣告或搜尋結果
ref_src 來源引用,例如 Twitter for Web 嵌入的 twsrc^tfw
ref_url 連結被點擊的頁面
ref 引薦來源的短形式
src 到達上下文:trend_clickhashtag_clicktren(熱門)等
cn 郵件分享追蹤權杖(通常類似 base64)
iid 廣告中的活動實例 ID
ntref 通知上下文
ft 網頁用戶端內部權杖
lang 顯示的語言覆寫
vertical 搜尋檢視選擇器:trendsnewsusers
f 搜尋篩選器:liveuserimagevideo
prdrndcxtbp 較舊的應用程式上下文權杖,歸入一條規則

識別參數永遠不會被移除:路徑中的推文 ID、列表 ID、Space ID 和搜尋連結的 q 就是內容本身。移除它們會破壞連結。

為什麼移除總是安全的?追蹤參數描述的是你如何到達,而不是連結指向哪裡。twclidsrcutm_* 只改變歸因報告;沒有它們,渲染的內容完全相同。「已移除的參數」一行會精確顯示移除了什麼,讓清理過程一目了然、可驗證。

輸出格式指南

每條被分析的連結都可以輸出為三種格式。

格式 輸出 使用時機
規範連結 x.com 上乾淨、穩定的連結 發布、歸檔、去重,以及任何長期儲存連結的場景
嵌入連結 官方小元件頁面 platform.twitter.com/embed/Tweet.html?id=… 放入 <iframe> 以在你的網站上渲染推文
分享連結 官方 intent 連結(intent/retweetintent/userintent/tweet 分享按鈕和活動連結

規範格式始終輸出 x.com 網域 – 目前品牌 – 無論你貼上的是哪個網域。話題標籤搜尋被規範化為話題標籤頁面,個人主頁標籤則回落到主頁根路徑。

嵌入格式只對推文存在,因為 X 的嵌入小元件渲染推文。它產生與 X 自己的嵌入指令碼在 iframe 中載入的相同小元件 URL – 在瀏覽器中開啟它,你會看到以官方設計渲染的推文。單選選項會自動隱藏,適用於沒有小元件的個人主頁、列表、Space 和話題標籤。

分享格式為內容選擇恰當的 intent:推文使用 intent/retweet?tweet_id=…(開啟該推文的轉推對話方塊),個人主頁使用 intent/user?screen_name=…,話題標籤使用 intent/tweet?hashtags=…(撰寫一條預填話題標籤的推文)。Intent 位於 twitter.com – 歷史悠久的 intent 主機 – X 會在兩個網域上解析它們。

使用方法

  1. 貼上連結。 點擊輸入框,貼上 X 連結(Ctrl+V 或 Cmd+V)。解析器在你輸入時讀取它 – 無需點擊任何按鈕。
  2. 閱讀結果面板。 五行內容總結分析:
顯示內容
類型 結果類型:tweetprofilelistspaceeventhashtagsearch
使用者名稱 連結中的使用者名稱,作為可點擊的個人主頁連結
內容 ID 提取的 ID – 推文 Snowflake、列表 ID、Space ID 或話題標籤
變體 推文的顯示變體(photovideolang: zhanalytics)– 普通推文為空
已移除的參數 被移除的追蹤參數,逗號分隔
  1. 選擇輸出格式。 規範連結是預設值。需要時切換到嵌入連結(僅推文)或分享連結。不適用於目前連結類型的格式會自動隱藏。
  2. 複製結果。 輸出框即時更新;按下複製即可放入剪貼簿。

教學

跟隨一個完整範例,從話題點擊連結到發布後的乾淨連結。

第 1 步 – 貼上話題點擊連結。 複製這個連結,就像你在 X 應用程式中點擊熱門話題時它到達的樣子:

https://x.com/search?q=%23Gewitter&src=trend_click&vertical=trends&twclid=abc123xyz

貼上到輸入框。結果面板立即填充:類型 hashtag、內容 ID Gewitter、已移除的參數 srcverticaltwclid

第 2 步 – 複製規範連結。 輸出顯示乾淨的話題標籤頁面:

https://x.com/hashtag/Gewitter

單話題標籤查詢已被規範化為規範的話題標籤路由 – 這是 X 在個人主頁和簡介中使用的 URL。

第 3 步 – 清理一條被分享的推文。 貼上一條帶完整參數串的應用程式分享連結:

https://twitter.com/markito0171/status/2089759704335482961/video/1?s=20&t=FakeNonce&ref_src=twsrc%5Etfw

類型顯示 tweet,使用者名稱連結到個人主頁,ID 是 2089759704335482961,變體顯示 video,移除清單顯示 stref_src。規範輸出將一切收斂為 https://x.com/markito0171/status/2089759704335482961/video/1 檢視是同一條推文,因此乾淨連結指向推文本體。

第 4 步 – 嵌入推文。 切換到嵌入連結。輸出變為 https://platform.twitter.com/embed/Tweet.html?id=2089759704335482961。將它放入你網站上的 iframe:

<iframe src="https://platform.twitter.com/embed/Tweet.html?id=2089759704335482961"
  width="550" height="600" style="border:none;overflow:hidden" frameborder="0"
  allowfullscreen="true"></iframe>

第 5 步 – 處理 Unicode 話題標籤。 貼上 https://x.com/hashtag/%E6%97%A5%E6%9C%AC?src=hashtag_click。類型顯示 hashtag,ID 是 日本(從百分比編碼的路徑解碼而來),規範輸出是編碼後的乾淨形式 https://x.com/hashtag/%E6%97%A5%E6%9C%AC

第 6 步 – 分享個人主頁。 貼上 https://x.com/elonmusk 並切換到分享連結。輸出變為 https://twitter.com/intent/user?screen_name=elonmusk – 官方關注 intent,可直接用於分享按鈕。

專業提示

  • 按內容 ID 去重歸檔。 批次清理表格時,內容 ID 行就是你的穩定鍵:同一條推文無論透過哪個網域、變體或參數串到達,總會產生相同的 Snowflake。按該欄排序和去重,而不是按連結。
  • 儲存前先規範化話題連結。 話題點擊是 X 中最混亂的連結,而貼上一次就能讓它們全部落到乾淨的話題標籤頁面。圍繞規範的話題標籤形式建構你的監控工作流程。
  • 配合官方 iframe 使用嵌入連結。 X 的嵌入小元件連結不需要你頁面上的額外 JavaScript – 只需要教學中的 iframe。小元件處理回應式寬度並渲染官方推文設計。
  • 在活動中使用分享 intent。 分享連結格式產生轉推、關注和帶話題標籤撰寫等操作的官方 intent 連結。它們無需 API 金鑰即可運作,並開啟 X 自己的對話方塊。
  • 把移除清單當作監控訊號。 X 偶爾會更改其追蹤詞彙。如果移除清單中出現你從未見過的參數,值得一查 – 解析器會精確顯示平台目前附加的內容。
  • 個人主頁標籤自動收斂。 不要手動把表格中的 x.com/elonmusk/with_replies 改成 x.com/elonmusk – 解析器會替你完成,並保持使用者名稱行完好。
  • 從任何地方貼上連結。 解析器接受兩個網域和所有子網域,因此來自應用程式、網頁、電子報或郵件的連結無需規範化即可運作。

替代方案

選項 優勢 劣勢
本解析器 零請求、即時、識別 Snowflake、20 多種格式、產生嵌入和分享連結、可驗證的移除清單、Unicode 話題標籤 無法透過 API 取得推文內文或互動數等中繼資料
在網址列手動修正 無需工具 長參數串容易出錯,容易誤刪推文 ID,沒有嵌入或分享格式
通用連結清理器 易於使用 面向短鏈和一般連結,不適合 X 路由;通常對 Snowflake ID、顯示變體和搜尋規範化視而不見
清理連結的瀏覽器擴充功能 在選定頁面上自動執行 擴充功能能看到你瀏覽的每條連結,需要安裝和權限,很少覆蓋 X 特有格式
X API(官方) 完整中繼資料、搜尋和發布 2026 年 2 月起按使用付費,無免費檔 – 見下一章;沒有金鑰無法從瀏覽器使用

一次性清理時,本解析器的規範格式是最快的路徑;需要中繼資料的批次研究或許適合 X API 帳戶 – 但那是開發者工具,不是連結清理器。

與官方 API 對比

X API 曾經有免費檔。這在 2023 年改變過一次,2026 年又變了一次:X 在 2026 年 2 月轉向按使用付費,取消了免費檔,並向新註冊關閉了舊的 Basic 和 Pro 方案。讀取單個貼文約花費 $0.005(約每 1,000 條推文 $5),個人主頁讀取則是其兩倍。沒有免費配額可供原型開發。

本解析器刻意不呼叫 API。本地解析器覆蓋了付費 API 無法覆蓋的場景:

場景 本地解析器 X API
任意歸檔的連結清理 即時、無限、離線 每次讀取請求都要付費
話題連結規範化 本地分析 每條連結都需要呼叫搜尋端點
隱私 連結不離開瀏覽器 傳送到 X 伺服器並計費
成本 免費、無配額 每條貼文讀取 $0.005 起,無免費檔

解析器回答的問題是這條連結是什麼、它的乾淨形式是什麼 – 一個不需要 API、金鑰或配額的問題。如果除了清理之外你还需要推文中繼資料,API 帳戶是另一回事;本工具產生的乾淨規範連結正是你會餵給那種 API 的原料。

它不會做什麼

它無法解析 t.co 短連結。 發布到 X 的每條連結都會被自動縮短為 t.co 連結,目標只能透過跟隨重新導向來發現。瀏覽器無法讀取重新導向目標,因為 CORS 不允許,而零請求的解析器從不猜測。開啟一次短連結,從網址列複製完整連結 – 解析器會立即處理它。

它拒絕第三方鏡像。 Nitter 實例(nitter.net/…)以及 fxtwitter.comvxtwitter.com 等預覽服務不是 X 網域,會被拒絕。只有 twitter.comx.com(任意子網域)會被接受。

它拒絕非內容路徑。 homeexploreloginsettingsmessagesnotificationscomposeintentshare 等平台功能不是可分享的內容,會被視為無效拒絕,沒有識別的空路徑(x.com/hashtag/x.com/i/spaces/)也是如此。

它不取得中繼資料。 不會向 X 發出請求,因此解析器從不顯示推文內文、作者姓名、互動數或發布日期。它回答這條連結是什麼、它的乾淨形式是什麼 – 僅此而已。(Snowflake ID 本身編碼了發布時間,但解碼是專用解碼器的工作。)

它不改變任何東西。 該工具不會縮短、重新導向、儲存或轉發連結。輸出是你可以帶走的連結。

故障排除

問題 原因 解決方法
t.co 短連結被標記為無效 短連結因 CORS 無法在瀏覽器中解析 開啟一次短連結,從網址列貼上完整連結
顯示「請輸入有效的 X(Twitter)連結」 連結使用了 homelogin 等封鎖路由、損壞形式或非 X 網域 確認連結確實是從 X 複製的。封鎖路由被刻意拒絕,因為它們不是內容
搜尋連結顯示 search 而非 hashtag 查詢是純文字或包含多個詞 行為正確 – 只有單話題標籤查詢會被規範化為話題標籤頁面
話題連結顯示已移除的參數 srcvertical 這些是到達上下文參數,不是內容 符合預期 – 規範輸出是乾淨的話題標籤或搜尋連結
缺少嵌入單選選項 嵌入小元件只存在於推文 行為正確 – 個人主頁、列表、Space 和話題標籤沒有小元件頁面
Unicode 話題標籤顯示亂碼 標籤在連結中被百分比編碼 解析器會解碼 – 內容 ID 行顯示解碼後的標籤(例如日本),規範輸出會安全地重新編碼
推文 ID 被拒絕 ID 不是 15–19 位數字 確認連結已完整複製,包括末尾的數字
輸出省略了 /photo/1 檢視 顯示變體是同一條推文 行為正確 – 規範連結指向推文本體;變體行記錄原始檢視

隱私與資料處理

這個工具執行零網路請求。你貼上的連結完全在你的瀏覽器中處理:沒有伺服器接收它,沒有分析指令碼看到它,沒有第三方日誌記錄它。沒有帳戶,沒有儲存,工具也無法在頁面關閉後知道你貼上了什麼。

這具體地區分了本解析器與基於 API 的工具:連結、其推文 ID 和使用者名稱永遠不會經過你不控制的伺服器。你可以清理發布前的連結、內部活動連結或私下轉發的連結,而不會出現在第三方日誌中。

解析器也不會載入第三方指令碼。它產生的嵌入連結指向 X 自己的小元件頁面,只有當你自己開啟或嵌入這些連結時 X 才會看到它們 – 解析器從不載入它們。

技術規格

屬性
處理方式 100% 用戶端,零網路請求
更新模型 每次按鍵即時更新
接受的主機 twitter.comx.com(任意子網域)、mobile.twitter.com
結果類型 tweetprofilelistspaceeventhashtagsearch
推文 ID 模式(Snowflake) 15–19 位數字(\d{15,19}
使用者名稱模式 1–15 個字母、數字或底線,不能純數字
話題標籤模式 1–30 個 Unicode 字母、數字或底線字元([\p{L}\p{N}_]{1,30}),從百分比編碼解碼
Space ID 模式 10–15 個字母數字字元
列表 slug 模式 1–40 個字母數字字元、底線或連字號
個人主頁標籤規則 路徑第二段中的任意小寫單字 slug,非數字
搜尋規則 必須包含 q;恰好一個 #hashtag 規範化為話題標籤頁面
追蹤參數規則 utm_* 前綴、__ 前綴以及精確的 19 鍵清單
保留的識別資料 推文 ID、使用者名稱、列表 ID、Space ID、活動 ID、話題標籤、搜尋 q
輸出格式 規範連結(x.com)、嵌入連結(推文小元件頁面)、分享連結(轉推/關注/話題標籤 intent)
依賴 無 – 純 JavaScript,無框架
瀏覽器支援 現代常青瀏覽器(Chrome、Edge、Firefox、Safari),支援 URLSearchParams 和 Unicode 屬性跳脫

封鎖清單為:homeexploresearchintentsharecomposemessagesnotificationssettingsloginsignuphelptosprivacyaboutdownloadjobsdevelopersanalyticssupportfeedbackblogmediastatussbookmarksihashtaglists

功能特色

  • 分析 20 多種 X(Twitter)連結格式 – 推文、個人主頁、列表、Space、活動、話題標籤和搜尋連結,支援 twitter.com 和 x.com
  • 自動移除 twclid、ref_src、src、utm_* 等追蹤參數,並精確顯示移除了什麼
  • 提取推文 ID,並將話題標籤搜尋連結規範化為規範的話題標籤頁面
  • 一鍵產生規範的 x.com 連結、官方嵌入小元件連結和分享 intent 連結
  • 理解日本等 Unicode 話題標籤、/photo/1 之類的連結變體以及內部的 /i/ 路由
  • 在瀏覽器中零請求即時分析 – 你的連結絕不會離開你的裝置

常見問題

我的 X 連結為什麼帶有 s=20、t=… 和 twclid 參數?
當連結從行動應用程式分享、從熱門話題點擊或透過第三方應用程式開啟時,X 會新增追蹤參數。最常見的是 s(分享時間戳記)、t(分享 nonce 權杖)和 twclid(X 廣告的點擊歸因)。這些參數不會改變連結指向哪裡,只會改變點擊如何被歸因 – 因此移除它們總是安全的。解析器會自動移除它們並列出移除內容,讓清理過程可驗證。
twitter.com 和 x.com 連結有什麼區別?
內容上沒有區別 – 兩個網域提供相同的頁面並相互重新導向。twitter.com 是 2023 年之前的舊網域,x.com 是目前的品牌。解析器同時接受兩者(以及 mobile.twitter.com 等行動子網域),並始終輸出 x.com 上的規範形式,因為 X 本身今天就重新導向到那裡。
什麼是推文 ID,為什麼它有 15 到 19 位數字?
每條推文都有一個類似 2089759704335482961 的數字 Snowflake ID。這個數字不是隨機的 – 它編碼了發布的精確毫秒時間加上機器和序列位元(參見「理解 Snowflake ID」一章)。解析器會驗證 ID 的長度和形式,絕不會把其他數字誤認為推文 ID。
為什麼 t.co 短連結會被標記為無效?
t.co 連結是 X 的官方短鏈,其目標只能透過跟隨重新導向來發現。由於 CORS 限制,瀏覽器無法讀取 t.co 重新導向的目標,而純客戶端解析器在設計上不發出網路請求。在瀏覽器中開啟一次短連結,從網址列複製完整 URL – 解析器會立即處理它。
為什麼 x.com/search?q=%23Gewitter 這樣的搜尋連結會變成話題標籤頁面?
在 X 上點擊熱門話題或話題標籤時,平台不會把你送到乾淨的 URL,而是送到帶有編碼查詢(如 q=%23Gewitter)的搜尋頁面。當查詢恰好是一個話題標籤時,解析器會將其規範化為規範的話題標籤頁面 https://x.com/hashtag/Gewitter,並移除 src、vertical 等來源參數。純關鍵字搜尋仍保持搜尋連結。
這個工具會把我的連結傳送到 X 或伺服器嗎?
不會。所有分析都在你的瀏覽器本地進行,沒有網路請求。你貼上的 URL 只會在你的裝置上處理 – 因此它適合處理機密連結或不想出現在第三方日誌中的發布前連結。
ESC