A vector drawing rasterised into a pixel image

SVG 轉 PNG — 免上傳,把向量圖算繪成任意尺寸

把 SVG 檔案算繪成清晰的 PNG,可選 1×、2×、3×、4× 或你輸入的任意像素寬度,用的正是瀏覽器顯示它們時的同一套算繪引擎。透明背景依舊透明,檔案從不離開你的裝置。

🔒 100% 瀏覽器內完成📐 1×–4× 或自訂寬度🧊 透明 PNG 免費且不限量

把 SVG 檔案拖放到這裡

或點擊上傳

最多 10 個檔案,每個 20MB · 支援:SVG

🔒

檔案留在你的裝置上

SVG 的讀取、算繪和編碼全部在瀏覽器分頁內完成。Logo、圖表和未發布的作品從不傳送到任何伺服器。

🖥️

算繪效果和瀏覽器一致

PNG 來自在螢幕上顯示這個 SVG 的同一引擎——Blink、Gecko 或 WebKit——所以漸層、濾鏡和文字都和你看到的一樣。

📐

任意尺寸,絕不模糊

1× 到 4× 涵蓋各種密度的螢幕,自訂寬度則適合印刷和電商平台。向量在任何尺寸下都能乾淨地點陣化——不存在放大。

🛡️

先移除指令碼

SVG 可以夾帶 JavaScript。算繪前會移除指令碼、事件處理器和 foreignObject 區塊,所以來路不明的檔案也無法作怪。

為什麼 SVG 在轉換之前沒有尺寸

很多人會問怎樣把 SVG 轉 PNG 才能「不損失畫質」,這個問題本身就帶著一個值得先釐清的誤解。SVG 沒有可以損失的畫質。它根本沒有像素。

向量描述形狀,像素儲存畫面

SVG 是對形狀(曲線、填色、文字)的描述,放在一套沒有固定像素尺寸的座標系統裡。PNG 則是一張固定的像素網格。因此 SVG 轉 PNG 永遠意味著選一個尺寸,而無論你選哪個尺寸,結果都是清晰的。

用文字編輯器打開一個 SVG,你看到的是一條條指令:移動到這個點,畫曲線到那個點,用這個顏色填滿。沒有任何地方寫著這張圖有多少像素寬。瀏覽器在顯示時才決定,而且每次都可以決定得不一樣。

viewBox、width 和 height 到底是什麼意思

根元素上的三個屬性控制尺寸。viewBox 定義座標系統——「這張圖橫向從 0 到 240,縱向從 0 到 160」。widthheight 如果存在,則建議一個預設顯示尺寸。很多 SVG 只有 viewBox,有些只有 width 和 height,還有少數兩者都沒有。

這個轉換器會讀取存在的屬性,像瀏覽器那樣推算出固有尺寸,並把它當作 1× 基準。如果什麼都沒宣告,就回退到 1,024 像素,確保你仍能得到一張可用的圖片。

為什麼「不損失畫質」是個錯誤的問題

因為同一份指令可以把 SVG 算繪成任意尺寸,一張 4,000 像素的 PNG 和一張 400 像素的 PNG 一樣清晰——算繪器只是畫出了更多細節。唯一會損失畫質的做法,是先算繪得很小,然後再把 PNG 放大。解法就是在這裡、在轉換時就選定最終尺寸,之後絕不放大 PNG。

An SVG has a viewBox, not a pixel size; the PNG size is chosen at conversionLeft: a vector drawing on a blueprint grid labelled viewBox 0 0 240 160. Right: the same drawing rendered as three PNGs of different pixel sizes, all equally sharp.SVG — a description<svg viewBox="0 0 240 160">no pixels yet — coordinates and curvesrasterise1× · 240 × 1602× · 480 × 320width 1200 · 1200 × 800each is sharp — the size is a choice, not a loss
SVG 帶的是 viewBox(一套座標系統),而不是像素數。同一個檔案算繪成 240、480 或 1,200 像素寬,清晰度完全一樣。尺寸是你在 SVG 轉 PNG 時做的選擇,而不是會遺失的東西。

這個 SVG 轉 PNG 轉換器做了什麼

這個工具在瀏覽器中讀取你的 SVG 檔案,移除所有可執行內容,用瀏覽器自己的引擎按你選擇的尺寸逐一算繪,然後交回保留透明度的無損 PNG——可以單獨下載,也可以打包成 ZIP。

和你的瀏覽器同一個算繪器

伺服器端轉換器使用獨立的函式庫——librsvg、Inkscape、ImageMagick——每一個都有缺口:不支援的濾鏡、被替換的字型、畫得略有差異的漸層。你拿回來的 PNG 可能和你看到的 SVG 對不上。

而在這裡,算繪由 Blink、Gecko 或 WebKit 完成——取決於你用的是哪個瀏覽器——直接把 SVG 畫到畫布上。只要 SVG 在你的瀏覽器裡顯示正常,PNG 就會一模一樣,因為它們本來就是同一幅畫。

移除指令碼,不做上傳

SVG 是 XML,可以包含 <script> 元素、onload 處理器和內嵌 HTML。來源不明的檔案不該隨手就打開。算繪前,轉換器會移除指令碼、事件屬性和 foreignObject 區塊,然後把結果放進一個本來就無法執行程式碼的圖片元素裡算繪。兩層防護,全在本機。

整個過程沒有任何上傳。批次轉換時,瀏覽器開發者工具的 Network 面板始終是空的。

How the SVG becomes a PNG inside the browser, in five steps, with nothing uploaded1read .svgtext, on your device2strip scripts<script>, on* handlers3set sizewidth / height / viewBox4browser renderssame engine as the page5canvas → PNGlossless, alpha keptevery step runs in your tab — the Network panel stays empty
五個步驟,全部在你的分頁裡完成:讀取檔案、移除所有可執行內容、設定像素尺寸、交給瀏覽器算繪、把畫布編碼成 PNG。

如何三步把 SVG 轉 PNG

1

拖入你的 SVG 檔案

把一個或多個 .svg 檔案拖到虛線區域,或點擊瀏覽選取。桌面版一次最多 10 個。每一列都會顯示向量的即時預覽——瀏覽器原生支援 SVG,所以看到的就是將要算繪的。

2

選擇尺寸和背景

在轉換設定中選擇「倍率」(SVG 自身尺寸的 1×、2×、3× 或 4×)或「寬度」(預設值或任意像素寬度,高度依長寬比自動計算)。然後選擇背景:預設透明,也可以壓平成白色、黑色或任意顏色。

3

下載 PNG 或 ZIP

按下轉換。每個檔案都會顯示輸出尺寸和 PNG 大小。可以逐一下載,也可以按「下載全部」,得到一個保留原檔名、副檔名為 .png 的 ZIP。

Step 1: drop SVG files.svg.svg.svgup to 10 at once · never uploaded
1

拖入最多 10 個 SVG 檔案。它們在本機讀取,從不上傳。

Step 2: choose a scale or a pixel width and a backgroundOutput sizeScaleWidthscreenretinaphoneprintBackground→ 480 × 320 pxConvert 3 SVG
2

選一個倍率或輸入寬度,再選擇透明或純色背景。

Step 3: download PNGs individually or as a ZIPlogo-01.pnglogo-02.pnglogo-03.pngZIPDownload All as ZIP (3)
3

逐一下載每張 PNG,或打包成一個 ZIP 全部下載。

選對輸出尺寸

既然尺寸是一個選擇,那就有必要知道每個選項是做什麼用的。兩種模式幾乎涵蓋所有場景。

1×、2×、3× — 對應螢幕密度

一般螢幕每個 CSS 點顯示一個像素。Retina 或 HiDPI 螢幕顯示兩個;大多數現代手機顯示三個。所以一個在螢幕上佔 32 點的圖示,分別需要 32、64 和 96 像素的 PNG。這就是 1×、2×、3× 的全部意思。

網頁和 App 開發通常會把同一個 SVG 依三種倍率各匯出一份。拖入檔案一次,按 1× 轉換,改一下設定,再轉一次——或者乾脆按 3× 匯出,讓平台自己縮小。

常見目標的尺寸參考

Favicon:16、32 和 48 像素,最好先做一張 512 像素的 PNG,再用 PNG 轉 ICO 工具產生。App 圖示:應用商店要 1024 像素,之後用圖示集產生器。社群頭像:400 到 800 像素。Open Graph 圖片:1200 × 630。電商平台商品圖:長邊通常 2000 像素。

自訂寬度:印刷與電商平台

印刷場景請依 300 DPI 從實體尺寸回推:A4 頁面寬 2,480 像素,A3 是 3,508,6 英吋貼紙是 1,800。切換到寬度模式,輸入數字,高度會依 SVG 的長寬比自動計算。轉換器把輸出的長邊上限設為 16,384 像素——這是瀏覽器對畫布的限制——如果你的要求被縮減,它會告訴你。

Why 2× and 3× exist: the same icon needs more pixels on denser screensThree squares each drawn with the same physical size but 4, 8 and 12 pixels across, labelled 1×, 2× and 3×.standard monitor32 × 32 px for a 32-pt iconRetina / HiDPI64 × 64 px for a 32-pt iconmodern phones96 × 96 px for a 32-pt icon
一個 32 點的圖示在一般螢幕上需要 32 像素,在 Retina 螢幕上需要 64 像素,在大多數手機上需要 96 像素。這就是 1×、2×、3× 的全部意思。

透明度、背景與邊緣

大多數 SVG——Logo、圖示、插畫——都沒有背景:形狀懸浮在空無一物之上。PNG 能保存這一點,這也是這項工作選 PNG 而非 JPG 的兩大理由之一。

保持背景透明

這裡預設就是透明。SVG 沒有繪製的每個像素都保持透明,包括曲線和斜邊上那些被部分覆蓋的像素。正是這些柔和的邊緣像素,讓 PNG 放在深色投影片、彩色按鈕或照片上時不會出現明顯輪廓。

結果會顯示在棋盤格背景上,方便你在下載前確認透明效果。

什麼時候該壓平成純色

有些目標場景不支援 alpha 通道——較舊的郵件用戶端、某些印刷流程、少數會在背後悄悄轉成 JPG 的平台上傳器。這種情況就在背景設定裡選白色、黑色或自訂顏色。形狀會被合成到那個顏色上,PNG 完全不透明。

請選擇與圖片最終所在位置一致的顏色。壓平成白色後再把 PNG 放到深色背景上,邊緣像素——此時是淡橘、淡藍,或者形狀本身的淺色版本——就會呈現為一圈淡淡的光暈。這圈光暈是轉換後 Logo 最常見的抱怨,而它是背景選擇的問題,不是算繪的錯。

A transparent PNG keeps soft anti-aliased edges; flattening bakes in a backgroundLeft: a shape on a checkerboard with a magnified edge showing partially transparent pixels. Right: the same shape flattened onto white, where those edge pixels have become light grey.Transparent (default)edge pixels are partly see-through — sits on any colourFlattened to whiteedge pixels are now light orange — a halo on dark backgrounds
PNG 會在形狀邊緣保存半透明像素,正因如此它才能乾淨地貼在任何顏色上。壓平成白色後,這些邊緣像素會變淡——放在白底上沒問題,放在深色上就是一圈明顯的光暈。

可能出的問題(以及怎麼解決)

在瀏覽器裡算繪意味著 PNG 和螢幕一致,但同時也繼承了瀏覽器對「圖片允許載入什麼」的規則。

字型缺失

SVG 中的文字會用它指定的字型算繪。如果這個字型既沒安裝在你的電腦上,也沒嵌入檔案裡,瀏覽器就會換一個替代字型,PNG 裡顯示的就是替代字型。透過 URL 引用的網頁字型也不會載入:作為圖片算繪的 SVG 不允許擷取外部資源。

可靠的解法是在匯出 SVG 之前,在設計工具裡把文字轉為外框。字母變成路徑後,在任何地方都能算繪得一模一樣。

連結圖片缺失

同樣的規則也適用於 <image href="https://…">。從 URL 拉取的點陣圖會算繪成空白。改成內嵌即可——大多數編輯器都有「嵌入圖片」的匯出選項,它會把連結變成 SVG 內部的 data URI。內嵌圖片可以正常算繪。

輸出空白或極小

既沒有 viewBox 也沒有 width 和 height 的 SVG,在這裡會依回退尺寸算繪;如果圖形離原點很遠,就可能落在可見區域之外。加一個能框住整幅作品的 viewBox 就好。輸出極小幾乎總是因為 SVG 宣告了很小的 width 和 height——切換到寬度模式,輸入你真正想要的尺寸。

症狀、原因、解法

症狀可能原因解法
PNG 裡的字型不對字型未安裝 / 網頁字型被擋匯出前把文字轉為外框
SVG 裡的照片是空白透過 URL 連結而非內嵌重新匯出並嵌入圖片
PNG 非常小SVG 宣告了很小的 width/height用寬度模式輸入目標尺寸
圖形被裁掉viewBox 沒有框住整張圖在編輯器裡修正 viewBox
深色背景上有光暈壓平成了白色保持透明,或壓平成真實的背景色
濾鏡或模糊效果不一樣伺服器端轉換器用了不同的引擎在這裡轉換——由瀏覽器算繪

大家用 SVG 轉出的 PNG 做什麼

既然 SVG 可以完美縮放,為什麼還要把 SVG 轉 PNG?因為大量軟體至今仍然吃不下向量。

圖示集與 Favicon

應用商店、favicon 格式和許多圖示系統都要求固定尺寸的 PNG。依你需要的最大尺寸轉換一次,其餘的用圖示產生器PNG 轉 ICO 裁出來。

拒收 SVG 的平台

社群網站、電商平台、社群論壇和大多數 CMS 媒體庫都拒絕上傳 SVG——部分是出於安全考量,因為 SVG 可以夾帶指令碼。帶透明背景的 2× PNG 是通用的替代品。

郵件簽名與電子報

郵件用戶端會剝除 SVG 或顯示一張破圖。郵件裡的 Logo 用的都是 PNG,最好依 2× 匯出,再以一半尺寸顯示,這樣在 Retina 螢幕上依然清晰。

印刷與大圖輸出

印刷廠接受 PDF 和高解析度點陣圖。用寬度模式把 Logo 算繪到 3,000 或 4,000 像素,海報尺寸也能印得乾淨俐落——向量在目標尺寸上直接點陣化,不存在放大帶來的模糊。

Four uses for SVG rendered as PNG: app icons, social and marketplaces, email, printApp icons and favicons163264128Social posts and marketplacesSVG uploads rejected → PNG acceptedEmail signatures and newslettersmail clients strip SVG; PNG at 2× stays crispPrint and large formatcustom widthe.g. 4000 px for A3no upscaling blur
明明有 SVG 卻仍需要 PNG 的場景:圖示集、拒收 SVG 上傳的平台、電子郵件,以及印刷。

瀏覽器端 vs 伺服器端 SVG 轉換器

網路上幾乎所有 SVG 轉 PNG 轉換器都會上傳檔案,然後在伺服器上用 librsvg、Inkscape 或無頭瀏覽器算繪。簡單圖形沒問題,稍微複雜一點就會走樣。

還原度

每個算繪函式庫支援的 SVG 規範範圍都略有不同。濾鏡、遮罩、混合模式、檔案內的 CSS 以及沿路徑排列的文字是最常見的犧牲品。瀏覽器引擎是現存最完整的 SVG 算繪器,用你機器上的這一個來算繪,PNG 就不可能和預覽不一致。

隱私與限制

未發布的 Logo、產品圖面、帶內部數字的圖表:把它們上傳到轉換器是一次誰都不想要的小外洩。伺服器端工具還會限制檔案大小和每日用量,因為算繪要花他們的錢。在自己的裝置上算繪,兩個問題一起消失——沒有什麼可外洩,也沒有什麼可計量。

伺服器贏在哪裡:非常老舊的硬體算繪一批複雜 SVG 會比資料中心慢。但對十個 Logo 來說毫無差別。

Server-based converters render with a different engine; this tool uses your browser'sTop: upload to a server that renders with librsvg or Inkscape, which may draw fonts and filters differently. Bottom: the browser that displays the SVG also renders it, so the PNG matches what you see.Server-based converteryour deviceuploadlibrsvg / Inkscapedifferent rendererfonts substituted · filters approximatedlogo files kept for hours · size capsIn your browser (this tool)browser engineBlink / Gecko / WebKit.png fileslooks exactly as it does on screennothing uploaded · scripts stripped first
伺服器端轉換器用的是另一套算繪器,字型和濾鏡可能出來就不一樣。這個工具用的正是你此刻檢視 SVG 所用的瀏覽器。

拿到 PNG 之後可以做什麼

輸出是標準 PNG,所以這裡的每個工具都能直接接手,不必再次上傳。

用於網頁,可以跑一遍 壓縮 PNG,或轉成 WebP——兩者都保留透明度並縮小體積。用於郵件或照片,PNG 轉 JPG 可以壓平並縮小。事後需要精確尺寸,用調整圖片尺寸。如果你手上是點陣圖、卻希望有一份向量,PNG 轉 SVG 可以反向走一遍。

SVG 轉 PNG — 常見問題

免費,不用帳號,沒有每日配額。算繪在你的瀏覽器裡進行,所以沒有什麼可計量的。桌面版每批最多可加入 10 個 SVG 檔案,批次數量不限。

不會。檔案的讀取、淨化、算繪和編碼全部在瀏覽器分頁內完成。未發布的 Logo 和內部圖表從不離開你的裝置——轉換期間,開發者工具的 Network 面板始終是空的。

在轉換時就選好最終尺寸。SVG 沒有可損失的像素;它在任何尺寸下都能清晰算繪。只有先算繪得很小、之後再放大 PNG 才會損失畫質。螢幕用 2× 或 3×,印刷則用寬度模式並輸入你需要的精確像素數。

會,預設保留。SVG 沒有繪製的每個像素都保持透明,包括讓 PNG 能乾淨地貼在任何顏色上的柔和邊緣像素。只有當目標場景不支援透明時,才需要在設定裡選白色、黑色或自訂顏色。

它們是 SVG 自身宣告尺寸的倍數,對應不同螢幕密度:1× 用於一般螢幕,2× 用於 Retina 和 HiDPI 螢幕,3× 用於大多數手機。一個 32 點的圖示會變成 32、64 或 96 像素的 PNG。4× 則用於印刷或預留安全餘裕。

這個字型沒有安裝在你的電腦上,瀏覽器換了一個替代字型;透過 URL 連結的網頁字型也無法在圖片內部載入。匯出 SVG 前先在設計工具裡把文字轉為外框,之後在任何地方都會算繪得一模一樣。

安全。SVG 可以包含指令碼,所以轉換器會在算繪前移除 script 元素、事件處理器和 foreignObject 區塊,並且在一個無論如何都無法執行程式碼的圖片元素裡算繪。檔案也從不上傳,因此不會到任何其他人手裡。

可以。一次拖入最多 10 個檔案,設定一次尺寸和背景,按下轉換。每個檔案依序算繪,「下載全部」會把結果打包成一個保留原檔名的 ZIP。

T

TinyImagePro 工程團隊

我們打造從不上傳你資料的瀏覽器端檔案工具。這個 SVG 轉 PNG 轉換器會淨化 SVG 文字,設定明確的像素尺寸,讓瀏覽器自己的引擎把它算繪到畫布上,再用內建的無損編碼器寫出 PNG——全部在你的機器上完成。

關於 TinyImagePro
SVG 轉 PNG 轉換器 — 任意尺寸、透明背景、免上傳 | TinyImagePro