At a glance

A node that works on your PC won’t necessarily work on your phone just because you copied the entire config file. For everyday syncing, add the same subscription source to v2rayN and v2rayNG, then update each app separately. Use a QR code to transfer one node, a share link for several existing nodes, and full JSON only when you understand the core and device-specific settings. This guide walks through all four methods and explains the difference between server parameters, local proxy settings, and subscription updates.

First, know the difference: syncing nodes isn’t syncing all device settings

A node record typically includes a server address and port, credentials, protocol, and transport settings. VMess and VLESS share links can carry these connection details, but they won’t sync your PC’s system proxy, Android app routing, DNS, or routing rules. Matching node names on both devices don’t guarantee that every underlying field matches.

If you use v2rayN on your PC and v2rayNG on Android, first make sure the core selected on each device supports the node’s features. v2rayNG uses the Xray core; v2flyNG uses the V2Fly core. Don’t assume an Xray-specific REALITY config will work everywhere. For help choosing a client, see the client comparison; for field definitions, see config fields.

Config itemSuitable for reuse across devices?What to check
Server address and portUsuallyWhether both devices point to the same server endpoint
UUID, password, and transport parametersUsuallyWhether TLS, SNI, path, and protocol-specific fields are all present
Local listener and system proxyConfigure separatelyWhether the local port is in use and whether the app’s traffic goes through the proxy
Routing, DNS, and per-app proxy settingsAdjust for each deviceWhether rule references and file paths are valid, and the right Android apps are selected

Four ways to sync: choose by update frequency and what you need to transfer

For a regularly maintained server list, a subscription is easier than repeatedly sharing QR codes. For one temporary node, sharing a single link is simpler to verify than copying a full config. These recommendations are for everyday syncing between a PC and phone; they don’t mean subscription URLs are safe to share freely.

Same subscription on both devices

Recommended

Save the same subscription URL on each device and update each app separately. When the provider changes the node list, update both devices to get the latest entries. Select the active node and configure local rules on each device separately.

Best for: long-term use, multiple nodes, or frequently changing server details.

QR code for one node

Show the node’s QR code in v2rayN and scan it with your phone. The code is usually a snapshot of the current node and won’t update when the original subscription changes.

Best for: transferring one working node when both devices are nearby.

Share links via clipboard

Copy one or more protocol links and import them from the clipboard on the other device. This is handy for bulk transfers, but check that the messaging or transfer method hasn’t truncated the text or altered any characters.

Best for: transferring several existing manual nodes at once.

Export the full config

When moving a core JSON config or client backup, check the format and the import options available in the destination app. A full config may include local listeners, routing, and device-specific paths, so it isn’t a universal subscription.

Best for: custom configs, troubleshooting, and migrations when you understand the core’s config fields.

Subscription links: add and update separately on each device

A subscription URL is usually an HTTPS address with an access token that returns a list of nodes. It’s different from a single-node share link beginning with vmess:// or vless://. Copy the URL from your provider’s subscription page; don’t use the browser address of your account page.

  1. Copy the subscription URL

    On your provider’s account page, choose the option to copy the subscription link. Use a format supported by your target client. If several formats are offered, confirm that the response contains a node list v2rayN and v2rayNG can parse.

  2. Add a group on your PC

    In v2rayN, open “Subscription Group” → “Subscription Group Settings.” Add a group, enter a name and URL, then save. The Add button may appear in a different place in some versions; check the group list in the settings window.

  3. Update the subscription on your PC

    Go back to “Subscription Group” and select “Update All Subscriptions (without proxy).” If the URL isn’t reachable on your current network and you have a working proxy, try “Update All Subscriptions (through proxy)” and check the result.

  4. Add a group on your phone

    In v2rayNG, open “Subscription Group Settings” from the side menu, tap “+,” enter a name and the same subscription URL, then save. Return to the main list, open the top-right menu, and select “Update subscription.”

  5. Select a node on each device

    Once updates finish, select the node you want to use on each device. Check the system proxy on your PC; on your phone, start the connection and approve the system VPN prompt. Importing a subscription doesn’t do these steps for you.

Here, “the same” means both devices get data from the same source, not that changes sync instantly in both directions. Editing a node name, deleting an entry, or switching servers on your PC won’t push that change to your phone. If the provider changes the URL or resets its token, update the subscription group on each device.

QR codes and clipboard: transfer a snapshot, not future updates

If a working node is already set up in v2rayN but not on your phone, select it and use the sharing option in the server list’s right-click menu to display its QR code. Make sure the code is for a single node, not a download link or subscription management page. The menu label may vary slightly by version, so verify the selected server first.

A QR code encodes text as an image; it can’t fill in missing fields. If the imported node won’t connect, compare the server address, port, UUID, transport type, TLS setting, and SNI on both devices. For WebSocket, also compare the path and Host. With REALITY, the public key, short ID, and other parameters must match the original entry.

Nodes transferred via share links usually go into a manual list and aren’t linked to the original subscription. If the server changes its port or credentials, share the node again or manage it through a subscription. To keep things clear, label manual nodes with “Imported manually” and the date, then delete them when they expire.

Config exports: identify the file before importing it

“Export config” might mean node share text, a client backup, or the full JSON passed to a core. Each requires a different restore method. A client database or backup file won’t work in another app just because its name includes “config.” And full JSON isn’t a subscription with automatic updates.

Export typeHow to identify itHow to transfer it
Share textStarts with a protocol scheme; may span multiple linesImport using the QR code or clipboard option
Core JSONContains fields such as inbounds and outboundsConfirm the target supports that core and importing custom configs
Client backupMay include groups, preferences, and other app dataFollow the backup and restore instructions for the same client

In full JSON, outbounds defines outbound connections, inbounds defines the local listeners that accept connections, and routing determines how traffic is routed. If you only check the server address when migrating, you may miss tag references used by routing, external rule files, and local listener settings. Absolute paths from a PC usually won’t work on Android.

443
Example of a remote TLS port; use the value configured for the node
10808
Example of a local SOCKS listener; check whether the port is already in use
10809
Example of a local HTTP listener; there is no universal default

These three port examples distinguish the remote server from local listeners; they aren’t values you should copy blindly. Changing the server port from 443 to 10808 won’t “sync” the devices. Setting the local listener to 0.0.0.0 may expose the proxy to your local network. For local use, keep an appropriate loopback listener; you don’t need to open a port on your PC just to use the same node on your phone.

Troubleshooting after import: check the node first, then the traffic path

When troubleshooting, keep the working config on one device as a reference and change one type of setting at a time. First identify whether the issue is fetching the subscription, parsing the node, connecting to the server, or routing app traffic through the proxy. Don’t reset the subscription, routing, and DNS all at once, or you won’t know what fixed the problem.

Why do the same subscription show different node counts on each device?

Update each device and check for success or error messages, then check whether a group filter is active. The subscription service may return different content depending on the client request, or include entries one device can’t parse. Compare the actual server addresses and protocols, not just the node names.

Why does a node that works on my PC fail to connect after importing it on my phone?

Open the node’s edit screen on your phone and compare the port, UUID, TLS, SNI, and transport fields, then check the connection log. Make sure system VPN permission is granted and no other VPN connection is active. If it fails only on mobile data, compare DNS resolution and connection results on both networks.

Why does the clipboard have text but show no valid config?

Check that you copied the full protocol link, not just the node name or a webpage’s share title. Copy it again as plain text and remove any surrounding explanatory text. If you copied a subscription URL, add it under “Subscription Group Settings” rather than importing it as a single node.

Why do some apps bypass the proxy even though my phone is connected?

Check v2rayNG’s per-app proxy settings and make sure the app isn’t excluded. Then check whether the routing mode sends that domain directly. Your PC’s system proxy and your phone’s app selection are independent; copying a node won’t sync either setting.

Can I keep using the original node after sharing its QR code?

A QR code may contain credentials that allow a direct connection. A subscription QR code may also expose the access token for an entire group of nodes. If it has leaked, replace the affected credentials or reset the subscription URL on the server, then update both devices. Deleting the chat alone won’t invalidate the old credentials.

Ongoing maintenance: keep one source and track device-specific settings

For long-term use, treat the subscription as the source of truth for server parameters, and keep routing and app settings local to each device. After updating, make sure the selected node is still available, then test the apps that need the proxy. A refreshed server list doesn’t mean a connection has been established.

For most v2rayN and v2rayNG users, using the same subscription, updating each device separately, and maintaining local settings on each device covers everyday needs. QR codes and clipboard links are useful for one-off transfers, while full configs are for cases where custom behavior must be preserved. Keeping these boundaries clear makes it easier to troubleshoot node changes and device-specific differences separately.