Discord 的文字轉 ASCII 藝術產生器是一個瀏覽器工具,可以將 JPG、PNG 或 WebP 圖片轉成一塊等寬字元文字,讓你直接貼到 Discord 訊息、頻道主題或程式碼區塊中。轉換過程會對每個輸出格取樣一個像素,依照 WCAG 2.2 公式計算相對亮度,再把該亮度對應到所選密度序列中的字元,因此較暗的像素會變成視覺上厚重的符號,較亮的像素則會變成空白或細小標點符號。整個流程都在目前的分頁中執行——圖片在本機解碼、繪製到小型畫布、以標準的 Canvas getImageData 呼叫讀取,絕不會離開瀏覽器。這在 Discord 上很重要,因為在一般訊息中顯示可辨識圖片的唯一方式就是透過文字格式,所以高保真的圖片必須先重新編碼成字元。Discord 的訊息渲染器會在三反引號程式碼區塊內套用等寬字型並保留重複的空白,這就是為什麼正確調整的 ASCII 區塊在貼上時能保持形狀。產出結果易於分享、方便複製,在任何允許程式碼區塊的伺服器中都能使用。

text to ascii art generator discord
文字轉 ASCII 藝術產生器:直接貼進 Discord

為什麼 Discord 需要等寬 ASCII 文字

Discord 不會在一般聊天訊息中渲染內嵌圖片——平台將文字視為文字處理,圖片只會以附件或嵌入連結的方式呈現。想在一般頻道中顯示可辨識的圖片卻不上傳任何檔案,就必須把圖片重新編碼成訊息渲染器能顯示的文字字元。Discord 透過套用等寬字型,並在文字位於三反引號程式碼區塊內時保留重複空白,來解決對齊問題——這正是 ASCII 藝術區塊保持形狀所需要的。在程式碼區塊之外,Discord 會將多個空白折合成一個,並切換成比例字型,所以在預覽中看起來完美的 ASCII 排版,貼到一般訊息時可能瞬間崩壞。貼在程式碼區塊內以維持等寬與完整空白——這條單一規則是 Discord 友善工作流程的基礎。

產生器對你的圖片做了什麼

文字轉 ASCII 藝術產生器接受最高 15 MB 的 JPG、PNG 或 WebP 檔案,並在開始任何轉換工作前先讀取尺寸。瀏覽器在本機解碼檔案、繪製到一個尺寸符合所要求的字元寬度的小型取樣畫布上,並以標準的 Canvas getImageData 呼叫讀取每個取樣像素(依據 MDN 的 CanvasRenderingContext2D.getImageData 文件)。解碼後的像素接著會合成在白色背景上——這個步驟能避免透明區域將不可見的深色數值洩漏到輸出中。每個合成後的 sRGB 色通道會被轉換為線性值,並使用 WCAG 2.2 相對亮度公式中的 0.2126、0.7152 與 0.0722 係數組合為相對亮度。該亮度會從所選密度序列中挑選字元,深色格子對應厚重符號,淺色格子則對應空白或細小標點。可選的反轉模式會翻轉這個對應,讓淺色字元落在深色背景上。不會上傳任何內容,檔案大小限制會在瀏覽器嘗試解碼之前強制執行,因此過大或不支援的檔案會在選擇階段就被拒絕。

如何製作 Discord 可用的 ASCII 藝術

這個工具遵循一個固定工作流程,能乾淨地對應到 Discord 的貼上步驟:

  1. 在你的瀏覽器分頁中開啟文字轉 ASCII 藝術產生器。
  2. 點擊檔案選擇器並挑選一個不超過 15 MB 的 JPG、PNG 或 WebP。工具會在嘗試解碼前拒絕任何更大或不支援格式的檔案。
  3. 等待圖片尺寸出現在面板中——這代表檔案已被接受,且瀏覽器已讀取其大小。
  4. 設定字元寬度(欄數)。在 Discord 上,從接近 80 欄開始是合理的預設,因為 Discord 以每行固定的字元寬度顯示程式碼區塊。
  5. 挑選密度集合。Standard 為平衡設定,Detailed 提供更多色階以處理漸層與臉部,Simple 使用較少符號以呈現更粗壯、更易讀的形狀。
  6. 若你的 Discord 主題為深色,並希望在深色背景上顯示淺色字元,請開啟 Reverse;若為淺色主題則保持關閉。
  7. 點擊 Generate 並在等寬預覽面板中檢視結果,特別注意主體的邊緣與可辨識特徵。
  8. 點擊 Copy 將精確字元放進剪貼簿,或點擊 Download TXT 儲存以來源圖片命名的 UTF-8 文字檔。
  9. 開啟 Discord,開始新訊息,輸入三個反引號以開啟程式碼區塊,將 ASCII 文字貼在第一行,接著在送出前再用三個反引號關閉程式碼區塊。

密度集合與其意義

這個工具內建三組密度序列,而挑對序列對 Discord 來說比對其他目的地更為關鍵,因為 Discord 的程式碼區塊字型在每格中只有有限的水平解析度。

密度集合字元多樣性色階細膩度建議的 Discord 主體
Standard平衡序列中等一般主體、標誌、簡單人像
Detailed更多色階高人像、漸層、有細膩明暗的場景
Simple較少符號低粗壯圖示、剪影、需在小尺寸下可讀的字元

從 80 欄寬的 Standard 開始產生一次,檢視主體的邊緣與可辨識特徵,再決定輸出是否需要更高的色階解析度(切換到 Detailed),或需要更少的雜訊(切換到 Simple)。想更深入了解這些取捨,更乾淨輸出的設定指南以更多細節涵蓋了相同的旋鈕邏輯。

寬度、高度校正與 Discord 的程式碼區塊

寬度數字控制輸出包含多少字元欄——它並不控制圖片像素。較大的數字能保留更多小細節,但會產生較長的行數與較多的總文字量。較小的數字則產生更緊湊的結果,適合較窄的版面,貼上時不必捲動。Discord 以固定的等寬格寬度渲染程式碼區塊,因此寬度超過大約 120 欄時,桌面版的長訊息內會明顯換行,手機版則更為嚴重。這個工具也會套用自動的高度校正,因為等寬字元通常比寬還高。若沒有這個校正,正方形的來源在轉換後會看起來被垂直拉長。工具會根據來源長寬比計算列數,最多只產生 800 列或 100,000 個總字元,然後要求使用者使用更小的寬度或裁切後的來源,而不是產生一個不實用的巨型文字區塊。如果你需要在轉換前取得特定的長寬比(例如配合 Discord 伺服器橫幅或方形大頭貼欄位),圖片裁切器能預先處理來源,讓輸出整齊對齊。

淺色與深色 Discord 主題

Discord 預設提供淺色與深色主題,且許多使用者也會安裝第三方主題來變更程式碼區塊的背景顏色。產生器中的 Reverse 選項會反轉亮度對應,讓較亮的像素變成厚重字元,較暗的像素變成空白。在深色程式碼區塊配淺色文字的情況下,形狀由字元本身承擔,周圍區塊作為負空間;在淺色程式碼區塊配深色文字的情況下,保留 Reverse 關閉可維持傳統排版,也就是以空白代表原圖的亮部區域。若你要把 ASCII 藝術傳送到主題混用的伺服器,請產生兩個版本——一個開啟 Reverse、一個關閉 Reverse——這樣你隨時都有適合收件者的方向。本機處理路徑在兩種情況下都相同,只有字元對應會改變。

ASCII 無法保留的內容

ASCII 轉換是一種詮釋,而非無損影像格式,有幾項來源圖片的屬性無法在送進 Discord 程式碼區塊之後存活下來:

  • 色彩資訊會被完全捨棄;每個像素會依其亮度變成單一字元。
  • 細微紋理、攝影雜訊與精確漸層會被每格像素取樣平滑掉。
  • 來源圖片中的小字幾乎永遠無法保持可讀,因為單一取樣像素無法捕捉字型輪廓。
  • 透明度會在亮度計算執行前合成在白色之上,因此具有細微 alpha 變化的透明 PNG 會失去該變化。
  • 原圖的反鋸齒邊緣會變成生硬的字元邊界,可能讓邊緣在任何一側偏移一格。

基於這些限制,正確的工作流程是保留原始圖片、產生多種寬度,並在實際的 Discord 目的地預覽貼上結果後,再依賴其呈現效果。關於本機瀏覽器管線的更廣泛說明——包括無伺服器上傳如何契合 Discord 友善的隱私故事——請見 不上傳即可轉換指南。

Discord 貼上常見問題

工具內的乾淨預覽,在貼進 Discord 後仍可能出錯。最常見的原因如下:

  • 空白被折合。若貼在程式碼區塊之外,Discord 會將多個空白折合成一個並切換到比例字型,破壞欄對齊。以三個反引號包裹文字即可強制等寬並保留空白。
  • 行高漂移。Discord 的等寬行高是固定的,但可能與預覽面板略有差異,因此高大字元可能讓垂直對齊偏移一個像素。若對齊很重要,請以較小寬度重新產生,使輸出使用較少的列數。
  • 手機截斷。Discord 手機版的程式碼區塊可見寬度小於桌面版,因此 100 欄的輸出在桌面看起來沒問題,到了手機卻可能讓臉部或標誌破碎。在分享前於兩種用戶端都測試貼上結果。
  • 字元數限制。Discord 將每則訊息限制在 2,000 個字元,每個程式碼區塊都算在這個額度內。若產生器的列數加上包裹字元超過此限制,訊息將無法送出。請降低寬度或裁切來源以縮短區塊。
  • 透明 PNG 產生的隱形黑色。已由工具的白色合成步驟處理,但若你在其他工作流程中略過該步驟,透明區域可能產生在輸出中看起來像雜訊的暗色痕跡。

Quick Checklist Before You Send

  • Image format is JPG, PNG, or WebP, and the file is 15 MB or smaller.
  • Width starts near 80 columns; raise it for detail or lower it for compactness.
  • Density set matches the subject — Standard for most, Detailed for gradients, Simple for bold shapes.
  • Reverse matches the recipient's Discord theme.
  • Output is wrapped in triple backticks in the actual Discord message.
  • Pasting was tested on both desktop and mobile, and the message fits inside the 2,000-character limit.