跳到主要内容

JPG to SVG

在浏览器中将 JPG 转为 SVG,文件无需上传

文件在本地处理,无需上传

输出说明JPG → SVG

转换后的图片将在这里显示

转换结果直接下载到你的设备

工具会将色块描摹为 SVG 路径,转换后的小细节、文字和照片可能与原图不同

如何使用 JPG to SVG

  1. 选择 JPG 或 JPEG,清晰纯色形状比复杂照片更容易检查。
  2. 点击“转换为 SVG”,检查上方实际结果。
  3. 下载 SVG,保留 JPG 以比较边缘、小字与颜色。

本工具在浏览器中将色块描摹成路径,是对原图的近似重绘,不能恢复原始设计、字体或照片中已丢失的细节,也不提供去背景或描摹质量选项。如果有原始矢量设计,建议直接使用原设计。

JPEG 压缩痕迹可能变成额外形状

同一张 320 × 200 白底三角形、矩形和圆形图,分别以 JPEG 质量 95、15 保存。这是样本生成设置,不是本工具选项。高质量输入 9,053 字节,产生 138,422 字节、803 条路径的 SVG;高压缩输入 2,975 字节,却产生 161,939 字节、1,104 条路径。较小 JPEG 没得到更小 SVG。

同一图案的两档 JPEG 与实际 SVG,较小 JPEG 产生更多路径
2026 年 10 月 15 日测量,原创合成图及独立渲染 SVG,不是竞品质量排名。

低质量输入的描摹结果在绿色矩形旁出现浅色块,红色圆形的边缘也呈阶梯状。原图连同白色在内只有四种纯色,两个输出却分别包含 15、16 种填充色。JPEG 的边缘像素和描摹过程都会影响结果,这组实验无法区分所有原因,也不能说明每张低质量图片都会产生更多路径。如果这些色块影响使用,请检查图形边缘并尝试更清晰的源图。

关于 JPEG 描摹伪影的真实用户问题 帮助确定实验方向,但该问题针对 Inkscape,不能证明 Filepetal 表现;本页结论来自下方下载文件。

尺寸一致不代表恢复细节

2,048 × 256 的 JPEG 包含宽度为 1、2、4、8、16 像素的线条和一大片绿色区域。SVG 声明的宽高没有改变,但 viewBox 为 0 0 1024 128。工具会先缩小图片,再在较小的坐标系中描摹。声明的宽高只决定显示尺寸,不能证明原图的每处细节都被保留。

JPEG 细线与 SVG 的等比例放大裁片:外部尺寸未变,1 像素线消失
实际 JPEG 与 SVG 裁片按相同比例显示,原线宽为 1、2、4、8、16 像素,不是保证的最小笔画宽度。

按声明尺寸独立渲染 SVG 并采样第 128 行:x=100 的 JPEG 为黑色,SVG 为白色,1 像素线消失;2 像素线成为浅细痕,x=201 为 RGB (135,135,136)。宽线仍可见但左边缘偏移。放大显示无法恢复描摹时丢失的线,可裁去副本留白后再检查细节。

灰度和文字会被近似重绘

32 条灰带 JPEG 得到 10 种 SVG 填色,源中心值 0、8、16、24、32 均渲染为 20,最亮 248 变为 228。合成条带展示了色阶合并,照片、渐变和柔和阴影应与原图目视比较,不能仅凭 SVG 扩展名判断。

32 级灰带合为 10 种填色;大小文字成为轮廓,而非可编辑文字
2026 年 10 月 15 日保存的灰条与文字实验,文字来自另一张 JPEG,SVG 没有 text 元素。

3,871 字节文字 JPEG 得到 176,171 字节、1,214 条路径的 SVG,没有 text 或嵌入图片元素。独立渲染仍可认出字,但边缘不齐。这是轮廓,不是恢复字体,更改文字需重建。未验证切割、刺绣或印刷流程。

方向与白色背景

方向样本存储为 240 × 120 JPEG、EXIF 方向 6,浏览器解码及实际 SVG 均为 120 × 240,独立渲染保留旋转后的四象限排列。仅验证所测浏览器中的此样本,不代表所有相机或方向标签。本工具无手动旋转,依赖方向元数据时请检查预览。

6 个输入均是不透明 JPEG,SVG 含描摹背景,没有自动去背景。独立渲染的边缘部分半透明:质量 15 样本最小 Alpha 为 91,完全不透明为 255。不透明 JPEG 不代表 SVG 每个边缘都不透明,棋盘预览有助检查,请放在目标背景上验证。

下载并复现这些实验

测试日期: 。6 个合成输入经实际浏览器转换,SVG 用 sharp/librsvg 独立解析与渲染。 带日期的清单 提供尺寸、字节、SHA-256 与检查范围。 复现步骤 与输入生成脚本也已提供。

样本输入 JPEG输出 SVG路径
edges-q95320 × 200
9,053 字节
320 × 200
138,422 字节
803
edges-q15320 × 200
2,975 字节
320 × 200
161,939 字节
1,104
thin-lines-20482048 × 256
23,997 字节
2048 × 256
4,107 字节
23
gray-steps512 × 160
3,525 字节
512 × 160
1,651 字节
10
orientation-6240 × 120
2,758 字节
120 × 240
1,742 字节
12
labels320 × 128
3,871 字节
320 × 128
176,171 字节
1,214
各下载配对文件的 SHA-256

edges-q95
JPEG: 4189d3cee447e580f9db723b8a9208c5c8299f7a6dff9c91a6f670303c520670
SVG: 05b7adf0eed264c150d67e648d4fa1fa863ec70be43b2652066b6ec157c50b4e

edges-q15
JPEG: 601afa038ace5ee08f9b2aa3dcdf8b142ad4eff6b06bab3f63c59885c0f07134
SVG: 82b4228138d64019d6373d80abe26a2070a0b027dc4ec274bc95e149ad22e256

thin-lines-2048
JPEG: 74bdea379de3ab1949b941d5aca33e0882d55e6d2706d06d1a04692ad8597787
SVG: e867467fe1fd2a933882ef5a42842475e1cb93cbb04bea66f5d0a871065f9352

gray-steps
JPEG: 07582c1492008bac7b0be15d69dda933385217f6c3312da9bdd96af8969ff1aa
SVG: 48618a2ffda4038cea1847ef7e094cd4ed9ae10a1e6a440cb299408b37775a08

orientation-6
JPEG: 7adfe6024aa57274578605b60c0c6c5d5a90568211e5df2ecba93d11868f7a1a
SVG: 0df470ee03f12c627e5ff49b303e64a02bc8e34d38cce87701e07410036884fc

labels
JPEG: 17a2a2843a5287be9c79481a22511bae5fe586a9f443f66ec48f4cc7879b696e
SVG: 681b57691bd849e3a28af1c41b181007fe2327a89f187fda1b4663c68761b7d2

文件哈希用于识别这些具体样本。其他解码器或浏览器可能生成不同的描摹结果,不能保证所有环境的输出一致。路径数量反映文件结构,不代表画质得分。

当前描摹方式与错误

描摹使用 16 槽调色板,源图最长边缩到 1,024 像素以内,这是 Filepetal 设置,不是 SVG 标准要求。 ImageTracer 文档(英文) 说明调色板和路径过滤参数,本页没有向用户开放这些控制。

每次一个有效 .jpg/.jpeg,最大 20 MiB(界面显示 20 MB),每边最多 4,096 像素、总计 1600 万。这些限制未因更新改变。改名文本、截断 JPEG 和 4,097 × 1 JPEG 均报错,无 SVG 预览或下载。清单提供拒绝样本,损坏时可重新导出副本并保留原件。

拒绝样本: fake.jpg · over-side.jpg · truncated.jpg。

JPG to SVG 常见问题

只是 SVG 外壳还是真实路径?

本工具描摹路径,6 个保存输出均无 image 元素。SVG 也可通过 image 元素嵌入位图,因此扩展名不能单独证明矢量化;路径仍是近似结果。

为什么较小 JPG 产生更大 SVG?

文件大小取决于描摹生成的形状。质量 15 的 JPEG 比质量 95 的文件更小,却生成了 1,104 条路径,而后者为 803 条。这只是一组配对实验,不能作为通用的压缩规律。

大尺寸 SVG 能恢复小字细线吗?

不保证。2,048 像素样本在较小内部描摹阶段丢失了一条线,即使外部尺寸不变。请检查预览并对照源图。

可以编辑文字或去掉白底吗?

文字变成轮廓而非可编辑字体,工具没有去背景。需要可靠文字和图层时请在矢量编辑器中编辑路径,或获取原设计。

相机照片能保持正确方向吗?

所测浏览器中的方向 6 样本得到预期 120 × 240 排列,其他源图未覆盖。请检查实际结果,必要时先在图片编辑器中旋转副本。