文字 → ASCII 字符畫
只認 ASCII:中文、日文、emoji 這類字符沒有對應的 5×7 拉丁字模,本頁簽會自動提示並跳過,圖片請改用「圖片轉 ASCII」。
ASCII 畫輸出
圖片 → ASCII 字符畫
點「選擇圖片」,或把圖片文件拖到這塊區域上,也可以在頁面上直接按 Ctrl+V 粘貼截圖。
輸出參數
圖片只在本頁解碼採樣:不上傳、不請求任何接口,關掉標籤頁就什麼都沒了。
ASCII 畫輸出
這是什麼工具
ASCII 字符畫生成器把兩件事合在一頁:一是「文字轉 ASCII」——用內置的 5×7 點陣字模把 A–Z、0–9 和一批標點排成大號橫幅(figlet 那種字符畫),提供實心塊、陰影、描邊、點陣四種樣式,填充與空白字符還能自己填;二是「圖片轉 ASCII」——把一張位圖按灰度分檔,用符號密度還原成字符畫,寬度、縱向密度、亮度、對比度、反色都能調,還能開彩色輸出直接在頁面上看原圖配色。
兩件事都在你自己的瀏覽器完成:字模表隨頁面一次性下載,圖片由瀏覽器解碼後交給 canvas 採樣,全程沒有 fetch / XHR,沒有後端接口,也不會把你的文字或圖片上傳到任何地方。生成的字符畫可以直接複製、也可以下載成 .txt 貼進 README、註釋、終端橫幅。
功能
- 自帶 5×7 點陣字模A–Z、0–9、空格與 30 個常見標點各有獨立字模,小寫字母自動復用大寫;不引用第三方 figlet 庫,也不需要聯網下載字體文件。
- 四種樣式 + 自定義字符實心塊用整塊方塊,陰影在右下方補一層斜線,描邊只畫輪廓(筆畫用 #、外緣用 .),點陣用 @ 與 . 表示有無;填充字符和空白字符都可以自己填,1× 到 4× 放大同時作用在橫豎兩個方向。
- 圖片三種入口文件選擇、拖放到區域上、在頁面上按 Ctrl+V 粘貼截圖都能進來;進來後先顯示縮略圖與原圖尺寸、文件體積,再按當前參數出字符畫,改參數即時重算。
- 三檔字符集與灰度控制標準 10 級、簡單 8 級、方塊灰階 4 級三檔明暗到淺的取樣序列,配合輸出寬度(20–200 字符)、縱向密度(緊湊 / 標準 / 寬鬆)、亮度(-100…100)、對比度(0.2…3)與反色,把人臉、logo 這類細節拉回可讀的範圍。
- 彩色輸出與純文本導出打開彩色輸出後,頁面上每個字符按它對應像素的平均顏色著色,方便對著原圖核對;複製與下載始終是單色純文本,貼進代碼註釋或終端不會殘留 HTML。
- 零依賴、純靜態、離線沒有任何第三方運行時庫,不請求接口、不上傳圖片;頁面加載完成後即使斷網,兩個頁簽照常工作。
怎麼用
- 做橫幅:在第一個頁簽輸入英文單詞或數字,選樣式、放大倍數,需要換個字符就改填充/空白字符,點「生成字符畫」。
- 轉圖片:切到第二個頁簽,選一張圖或把它拖進來(也可以 Ctrl+V 粘貼),先確認縮略圖和尺寸沒問題。
- 調參數:輸出寬度決定字符畫有多寬;人臉被拉變形就調縱向密度;整體發暗就加亮度、細節糊就加對比度;想要白底黑字的觀感就勾反色。
- 核對效果可以打開彩色輸出,但要放進代碼或終端時用「複製」或「下載 .txt」,拿到的是不含顏色的純文本。
- 想批量試不同寬度,就改寬度滑塊——每次改動都會立刻按當前參數重算,不用重新選圖。
技術參數與數據來源
文字頁簽:字模為本站自繪的 5×7 點陣表(window.ASCII_FONT_5X7),覆蓋 A–Z(含小寫復用)、0–9、空格與 ! ? . , : ; ' " - + / ( ) [ ] # % & * @ = < > $ ^ _ | ~ ` \;每個字符占 5 列外加 1 列間隔,7 行高;陰影樣式在右下方各偏移一格補斜線,描邊樣式按四鄰域做邊緣檢測(筆畫 #、外緣 .)。圖片頁簽:輸出寬度 20–200 字符,縱向密度 1.0 / 2.0 / 3.0(單元格高度 = 單元格寬度 × 密度),亮度 -100…100(對歸一化亮度整體平移,±100 會分別壓成全亮與全暗並在 0…1 處截斷),對比度 0.2…3(繞 0.5 中點縮放後截斷);灰度按 Rec. 709 加權 L = 0.2126R + 0.7152G + 0.0722B,帶透明通道的像素先按白色合成。三檔取樣序列由深到淺,字面分別是:「標準 10 級」@%#*+=-:.(9 個符號 + 末尾一個空格,共 10 檔)、「簡單 8 級」@#*+=-:.(8 個符號 + 末尾一個空格,共 9 檔)、「方塊灰階 4 級」█▓▒░(4 檔,最亮一檔仍是 ░ 而不是空白,白底佔比高時勾反色更省紙)。亮度值 v 落在第 floor(v × 檔數) 檔,兩端截斷。
圖片體積上限 30 MB,任一邊的像素尺寸超過 4096 會先等比縮到 4096 再採樣(大圖的解碼與逐像素平均都在這一份縮放後的位圖上進行,用 willReadFrequently 的離屏 canvas)。所有處理 100% 在你自己的瀏覽器完成:沒有 fetch / XHR、沒有上傳、沒有服務端記錄,圖片數據從不離開這台設備——這也是它和多數在線字符畫工具最大的區別,證件照、內部 logo 這類素材可以放心試。字模與取樣序列都是本倉庫裏的靜態數據,改動隨構建一起發布。
常見問題
- 為什麼輸入中文不給橫幅,只提示一句?
- 第一個頁簽靠 5×7 拉丁點陣字模拼字,一個漢字要佔的寬度與筆畫密度遠超這個網格,用這套字模排不出可讀的結果。所以檢測到非 ASCII 字符時會直接說明並跳過,不再請求任何數據。想把漢字做成字符畫,走「圖片轉 ASCII」:先把字寫成圖片(截圖、導出圖都行),再按灰度採樣。
- 「方塊灰階」用的 █▓▒░ 不是 ASCII,算不算名不副實?
- 確實不是純 7 位 ASCII:那是 Unicode 的區塊元素(U+2588 / U+2593 / U+2592 / U+2591),本工具如實把它標成「方塊灰階」。它的層次最細膩,代價是終端、純文本編輯器和部分代碼註釋可能顯示不出來或寬度不一致;要貼進這些場合就選「標準 10 級」或「簡單 8 級」,那兩檔才是純 ASCII。
- 縱向密度是什麼?為什麼人臉會被拉長?
- 等寬字體裏一個字符的格子大約「高是寬的兩倍」,如果按正方形網格取樣,圖會被橫向拉扁或縱向拉長。本工具默認按 2.0 計算單元格高度(單元格高度 = 單元格寬度 × 密度),也就是說豎向每格的取樣範圍是橫向的兩倍,出來的字符畫比例才和原圖一致。「緊湊 1.0」行數翻倍、細節更多但會被拉長,「寬鬆 3.0」更矮更概括,按原圖的觀感選一檔即可。
- 彩色輸出好看,為什麼複製下來沒有顏色?
- 彩色只是給頁面上的每個字符套了一個前景色(用 DOM 節點寫文本,不拼接 HTML 字符串),而複製與下載導出的一直是同一份單色純文本:字符畫常見用途是代碼註釋、README、終端橫幅,那些場合本身不認顏色,帶 HTML 反而壞掉。想要顏色效果就截圖,或者在原圖上下方對照看。
- 會不會把圖片傳到伺服器上?斷網還能用嗎?
- 不會。圖片由瀏覽器的 Image + canvas 解碼採樣,文字轉換隻查頁面自帶的字模表,全過程沒有任何網絡請求,伺服器上也看不到你輸入了什麼。頁面加載完成後斷網,兩個頁簽都能繼續用(除了頁面頂部的廣告位會空著)。
站內其他工具
純前端實現 · 零依賴 · 免費 · 支持中/繁/英