返回工具列表

本地配置工具

VMess 转 Xray JSON

把 vmess:// 链接还原成一份可以手工编辑的完整 Xray 客户端配置。

链接只留在这台设备上

转换完全在浏览器中进行,不会上传、保存链接,也不会把链接写入页面地址。

本页接受 VMess 链接,每行一条。
面向 Xray-core 1.8.16 及以上版本;XHTTP 传输另需 24.11 及以上。
分流预设

转换结果

为什么有些链接会被拒绝

如果一个参数无法在不改变连接行为的前提下映射过去,工具会明确报错,而不是悄悄丢掉。Xray-core 不支持任何 QUIC 原生协议,所以 Hysteria2 和 TUIC 链接会直接被拒绝,而不是揉成一个看上去差不多的东西。证书锁定和 2024 年之后新增的 REALITY 字段同理。

如何导入 Xray / v2rayN

Xray-core 可以直接把这份 JSON 当配置文件读。注意 Xray 以第一个 outbound 为当前生效节点——文件里有多个节点时,切换要改 routing,而不是点一下选择器。

VMess 转换成 Xray 的字段映射规则

左边是 VMess 链接里的写法,右边是它在 Xray 配置里对应的字段;无法映射的会明确报错。

链接里的写法Xray 配置里的字段说明
idsettings.vnext[].users[].idvmess:// 是 base64 编码的 JSON,这里列的是它的字段名,不是 URL 参数。
add / portsettings.vnext[].address / portport 写成字符串或数字都接受——不同客户端导出的写法不一样。
aidsettings.vnext[].users[].alterIdalterId 非 0 会给出提示:那条路径走的是已经被移除的 MD5 认证。
scysettings.vnext[].users[].security支持 auto、aes-128-gcm、chacha20-poly1305、none、zero。
pstag节点名。字段为空时回落成 server:port。
tls: "tls" + snisecurity: "tls" + tlsSettings.serverNameVMess 和 VLESS 在三家里的写法一致:servername、server_name、serverName。
fp / alpntlsSettings.fingerprint / alpn负载里没写 fp 时默认 chrome。
net=ws + path / hoststreamSettings.wsSettings这是 v2rayN 导出得最多的一种组合。
net=grpc / httpupgradegrpcSettings / httpupgradeSettingsMihomo 把 HTTPUpgrade 折进 WebSocket,另外两家给了它独立类型。
net=h2 / net=http拒绝并报错Xray 已经移除 HTTP/2 传输,所以输出 Xray 时这一行会被拒绝,而不是改写成 XHTTP——那在链路上是另一种协议。
net=xhttpstreamSettings.xhttpSettingssing-box 没有 XHTTP 传输方式,这一行会被拒绝,而不是降级成别的传输。
type (header obfuscation, e.g. "http")拒绝并报错除 none 以外的伪装头在三种目标格式里都没有等价物。

常见问题

VMess 转成 Xray 之后要用哪个客户端?
用 Xray-core 1.8.16 以上,或 v2rayN、v2rayNG 这类以 Xray 为内核的客户端。注意 Xray 以第一个 outbound 为当前生效节点,多个节点之间切换要自己改 routing。
这个 VMess 转换器免费吗?会不会上传我的节点链接?
完全免费,也不需要登录。转换是这个页面里的 JavaScript 在你自己的浏览器里做的,链接不会上传服务器、不会写进页面地址、也不做任何存储——关掉标签页就没了。
可以直接把订阅链接转成 Xray 吗?
可以,但要粘贴订阅地址返回的内容(通常是一长串 base64),而不是订阅地址本身——浏览器受同源策略限制,拿不到订阅的内容。一份订阅里混合多种协议也没问题。
VMess 转换成 Xray 之后连不上是什么原因?
这里做的只是把链接翻译成配置,校验的是配置结构,不检测服务器能否连通。先确认同一条链接在原客户端可用,再看客户端版本——XHTTP 传输需要 Xray 24.11 以上。

其他转换器

这里生成的是一次性本地配置,不是自动更新的订阅;工具只检查配置结构,不检测服务器能否连接。

© 2026