Skip to tool

MIYAIP TOOLS

Proxy Format Converter

Use this proxy format converter to turn HTTP, HTTPS, SOCKS4, and SOCKS5 lists into normalized text, Clash or Mihomo YAML, Shadowrocket configuration, and v2rayN links locally.

Convert proxy formats locally in your browser

Input is not uploaded or stored in the browser. Ambiguous four-part lines are rejected instead of guessing the port position.

0 / 10,000 · 0.0 KiB / 2 MiB

Convert Proxy Lists to Clash, Shadowrocket, or v2rayN

Standard URIs make protocol and authentication explicit and percent-encode special characters. The converter also accepts host-first and account-first compact forms, unauthenticated host and port, domains, IPv4, and bracketed IPv6, then normalizes exact duplicates.

Choose normalized text for exchange, Clash or Mihomo YAML for a client profile, Shadowrocket configuration, or v2rayN and v2rayNG links. Conversion changes configuration declarations only; it does not perform DNS queries, open ports, or prove that an endpoint supports the selected protocol.

How Ambiguous Proxy Formats Are Handled

For four colon-separated fields, the parser checks whether the second or fourth field is the only valid port to distinguish host:port:user:pass from user:pass:host:port. If both positions look like ports, the row is rejected as ambiguous instead of guessing which field is the host.

IPv6 in compact forms must use brackets. Credentials containing colons, at signs, spaces, or other delimiters should use a standard URI with percent-encoding. Invalid rows stay visible for review while valid rows continue through conversion.

Keep credentials under your control

Parsing and formatting run in the current browser without uploads or storage. Credentials are masked by default; displaying, copying, exporting, or generating an importable file with real credentials requires explicit confirmation.

Review client compatibility before importing. Supported client targets cannot preserve SOCKS4 semantics losslessly, and forcing SOCKS5 changes only the declaration rather than the actual proxy server. A usable downloaded profile may contain credentials and must be protected.

Supported Proxy Input Formats

The parser accepts standard http://, https://, socks4://, and socks5:// URIs with optional username and password; host:port; host:port:username:password; username:password:host:port; and username:password@host:port. Hosts may be domains, IPv4 addresses, or bracketed IPv6 literals. One line represents one proxy, and valid lines continue even when another line fails.

When a line has no scheme, the selected “Protocol for input without a scheme” is applied; its initial value is HTTP and can be changed before conversion. The tool does not discover the actual server protocol. An output protocol override likewise rewrites the declaration only and cannot turn an HTTP service into SOCKS5.

Accepted input examples
http://user:pass@proxy.example:8080
socks5://proxy.example:1080
proxy.example:8080
proxy.example:8080:user:pass
user:pass:proxy.example:8080
user:pass@proxy.example:8080
http://user:pass@[2001:db8::10]:8080

Eleven Proxy Output Formats

Choose a target that matches the next system. Text outputs can intentionally omit authentication; client formats preserve credentials only after explicit confirmation and reject protocol combinations they cannot represent safely.

Output format matrix
OutputExample shapeCredential behaviorUse
Standard URI, keep authhttp://user:pass@host:portKeeps authentication when present.Normalized exchange format.
Standard URI, require authhttp://user:pass@host:portRows without credentials fail.Systems that require authenticated entries.
Standard URI, no authhttp://host:portIntentionally omits credentials.Share a redacted endpoint list.
host:port:user:passhost:port:user:passRows without credentials fail.Host-first four-part importers.
host:porthost:portOmits credentials and scheme.Simple endpoint lists.
user:pass@host:portuser:pass@host:portRows without credentials fail.Account-at-host compact format.
user:pass:host:portuser:pass:host:portRows without credentials fail.Account-first four-part importers.
Clash / Mihomo YAMLproxies: - { name, type, server, port, ... }Usable files can contain credentials after confirmation.Import or merge into a reviewed client profile.
Shadowrocket configurationprotocol = host:port, username=..., password=...Usable configuration requires explicit credential confirmation.Shadowrocket-compatible configuration text.
v2rayN linkshttp://... or socks://...Link may embed credentials after confirmation.Clipboard or file import into v2rayN.
v2rayNG linkshttp://... or socks://...Link may embed credentials after confirmation.Clipboard or file import into v2rayNG.

IPv6, Percent-Encoding, and Four-Part Ambiguity

An IPv6 literal contains colons, so compact formats must put the address in brackets: [2001:db8::10]:8080. Brackets are syntax and are not part of the address. Without them the parser cannot reliably distinguish address groups from port and credential separators. Standard URI output preserves the bracketed host form.

Credentials containing a colon, at sign, percent sign, space, slash, or non-ASCII text should be placed in a standard URI and percent-encoded. Invalid percent sequences are rejected rather than silently changed. Encoding applies to the username and password components, not the entire URI; double-encoding changes the credential.

A four-colon-part line can mean host:port:user:pass or user:pass:host:port. The parser uses which candidate position is a valid port only when that choice is unique. If both the second and fourth fields look like valid ports, it reports an ambiguous compact format and asks for a standard URI or @ form instead of guessing.

Unambiguous forms for difficult values
http://name%40team:p%3Ass%25word@proxy.example:8080
socks5://user:pass@[2001:db8::10]:1080
user:pass@proxy.example:8080

Understand Conversion Errors

Invalid rows stay visible for review while valid rows continue. Fix the source line; do not edit a generated client profile until the parser accepts the intended meaning.

Converter error guide
ErrorCauseFix
Line too longOne input row exceeds the parser limit.Remove accidental pasted content and keep one endpoint per line.
Unsupported schemeThe URI scheme is not HTTP, HTTPS, SOCKS4, or SOCKS5.Select a supported proxy type; do not relabel an unrelated protocol.
Invalid format, host, or portRequired parts are missing, host syntax is unsafe, or the port is outside the valid range.Use a documented input shape and bracket IPv6.
Invalid credentialsUsername or password structure cannot be represented in that compact input.Use a standard URI with component percent-encoding.
Invalid credential percent-encodingA percent sign is not followed by a valid encoded byte sequence.Encode the original credential once using standard URI encoding.
Ambiguous four-part formatBoth host-first and account-first interpretations appear valid.Rewrite as a URI or username:password@host:port.
Credentials requiredThe selected output mandates authentication but the input has none.Provide authorized credentials or choose an output that allows unauthenticated endpoints.
Credentials not representableThe target format cannot safely express the supplied values.Use standard URI or another lossless target.
Client protocol unsupportedThe chosen client target cannot preserve the source protocol, such as SOCKS4.Keep the original protocol in a text format or use a compatible client; do not force-convert blindly.
Comma or client-field conflictA client configuration format cannot safely quote the value.Use safer credentials or another target and review client syntax.

Import into Clash, Mihomo, Shadowrocket, v2rayN, or v2rayNG

Client interfaces change, so use the current import or profile screen in the installed app and inspect every endpoint before enabling it. Conversion does not test connectivity or subscription health.

  1. Choose the exact client targetSelect Clash/Mihomo YAML, Shadowrocket configuration, v2rayN links, or v2rayNG links before converting.
  2. Review validation and protocol warningsResolve failed rows and remove endpoints the client cannot represent, especially SOCKS4.
  3. Reveal credentials only when requiredThe preview stays masked; a usable credential-bearing file or copy requires explicit confirmation.
  4. Download or copy locallyUse the client’s file, clipboard, or profile import function as appropriate for that target.
  5. Inspect and test in the clientConfirm protocol, host, port, TLS expectations, DNS behavior, and authentication before routing traffic.

Proxy List Converter vs Subscription Converter

This Proxy List Converter operates on text or a local file you provide. Parsing, normalization, deduplication, preview, and export run in the current browser, and it does not fetch proxy subscriptions, resolve hosts, connect to ports, or upload the list. That makes it suitable when you already possess the endpoint lines and want direct control over the conversion input.

A remote Subscription Converter is a different workflow: it receives or fetches a subscription URL, interprets that remote response, and may need server-side access to retrieve it. Use such a service only when you trust it with the URL and any token embedded in it. Do not paste a subscription URL into this local list parser expecting it to download content.

FAQ

Frequently asked questions

Does proxy format conversion test proxy connectivity?

No. The page only parses and rearranges text; it performs no DNS queries, port connections, or availability checks. Use the MiyaIP Proxy Checker when you need to verify connectivity.

Can I convert a proxy list to Clash YAML without uploading it?

Yes. Select the Clash or Mihomo YAML target and convert the list locally in this browser. Proxy addresses and credentials are not uploaded, but a usable downloaded profile can contain real authentication data and must be protected.

Why do some lines require credentials?

The selected target format requires a username and password, but those input lines contain only a host and port. The tool does not invent empty credentials, so it leaves those rows unconverted for review.

Why did special characters in the credentials change?

Standard URIs percent-encode characters such as colons and at signs so they do not conflict with format delimiters. The original credentials are restored when the URI is parsed again.

Why was SOCKS4 omitted from a client profile?

The current Clash, Shadowrocket, and v2rayN or v2rayNG targets cannot preserve SOCKS4 semantics losslessly, so the row remains visible as an error. Forcing SOCKS5 changes only the declaration and does not prove that the server supports SOCKS5.

Why does an importable download ask for another confirmation?

A usable client profile must contain real authentication data. The preview masks credentials, and a complete file is generated locally only after you explicitly confirm the download.

Can JSON and CSV contain passwords?

Yes, but only after you explicitly reveal credentials and confirm the export. Treat these local files like any other proxy configuration and never upload them to a public location.

MIYAIP

Need a stable proxy network that scales?

Create an account to manage proxy products, or review rotating residential proxy pricing first.