First identify whether you have a single node configuration or a subscription URL that retrieves a node list, then choose the right import method. This guide is for first-time v2rayN and v2rayNG users. Learn to tell the two link types apart, import from the clipboard or a QR code, set up a subscription group, and troubleshoot issues at three stages: download, format parsing, and connection.
Share Links vs. Subscription URLs
vmess:// and vless:// are typically share links for a single node. They contain the server address, port, user ID, and transport settings. When imported, the client reads these parameters and creates a local node entry. It does not visit the address to download a configuration from a webpage.
Subscription URLs usually start with https:// and point to an endpoint that provides a node list. The client sends a network request, then parses the response. A subscription can return one node or several; the number of nodes is not a reliable way to distinguish a share link from a subscription URL.
| Comparison | Single share link | Subscription URL |
|---|---|---|
| Typical prefix | vmess://、vless:// | https:// |
| Where the content comes from | Node parameters are embedded in the link | Fetches a list from a remote endpoint |
| When parameters change | Usually requires reimporting or manual editing | Update the subscription to fetch the latest content |
| Best import method | Import from clipboard or scan a QR code | Set up a subscription group and update it |
| Sensitive data | Credentials such as UUIDs | Access token in the URL and the nodes it can retrieve |
Managing subscription groups
RecommendedIf you have a subscription from a trusted provider, save it in a dedicated group. When node addresses, ports, or the list change, update the subscription instead of pasting each entry again.
Best for: regular use, multiple nodes, and provider-side updates
Importing a single link
Creates one node entry that you can inspect for server and transport settings. The link does not update automatically, making it useful for checking whether a configuration works.
Best for: self-hosted nodes, temporary tests, and checking parameters individually
How to tell: focus on what the link does, not just how it looks
If you have an HTTPS URL, first make sure it is a subscription endpoint, not a login page or purchase page. If you have a protocol share link, use the node import option rather than entering it in the subscription URL field.
Link structure and fields to preserve
A common VMess share link consists of vmess:// followed by a Base64-encoded JSON object. Decoded, it commonly contains fields such as add, port, id, net, host, path, and tls. Base64 is an encoding, not encryption. These share-link fields are also not the same as the full runtime config.json structure.
A VLESS share link is closer to a URI: the user ID comes before @, followed by the server and port. Query parameters specify transport and security settings, and the text after # is usually the node label. The example below is for illustration only: the domain and UUID are sample data and cannot be used to connect.
vless://[email protected]:443?encryption=none&security=tls&type=ws&host=node.example.com&path=%2Fgateway&sni=node.example.com#Example-WS-TLS
type=wsindicates WebSocket. Decoded,path=%2Fgatewaybecomes/gateway; the path must match the server configuration.security=tlsenables TLS.sniis the server name used for the TLS handshake and should not be replaced with an arbitrary domain.encryption=noneis a VLESS protocol field; it does not mean the connection has no TLS protection. Treat the protocol layer and transport security layer separately.- REALITY nodes may also include parameters such as a public key, short ID, and
flow. These must be parsed by a compatible client and core; do not apply the TLS example above to them.
v2rayN: Import from Clipboard or QR Code
These steps use the common Chinese-language interface; button locations may differ between desktop and classic versions. First make sure you copied the complete protocol share link, not the title of a subscription webpage. Importing a node adds it to the configuration list; it does not enable the system proxy.
- Copy the link. Select the entire text, starting with
vmess://orvless://. For bulk imports, put one link on each line without numbering, quotation marks, or explanatory text. - Import from the clipboard. In the v2rayN main window, select “Servers” → “Import bulk URLs from clipboard.” In some versions, this option is under the Add Server menu. You can also try
Ctrl+Vin the main window; do not paste into the search box or a parameter field. - Check the entry. Verify the new node’s protocol, address, port, and label. Open its edit window to confirm the transport type, TLS, and server name are present. If the import succeeds but fields are blank, check the original link again.
- Set the active server. Select the node you want to test, then use the context menu to set it as the active server. Configure the system proxy or another traffic mode for your use case. Test one node first to avoid changing routing and DNS at the same time.
A QR code is just a way to carry text, not a separate protocol. On desktop, display the full code on screen, then select “Servers” → “Scan QR code on screen.” In some versions, this option is under the Add menu. Close any windows covering the code, leave clear space around it, and adjust its display size if needed.
- If the scan result starts with
vmess://orvless://, import it as a node share link. - If the scan result is an HTTPS URL, confirm what it is for, then save it to a subscription group. A successful scan does not mean the subscription has been updated.
- If the scan result is a webpage URL or plain text, ask the provider for a valid node QR code or subscription URL. Do not guess the parameters manually.
v2rayN: Add a Subscription and Update Nodes
Subscription setup involves two separate actions: saving the URL and fetching its contents. If you add a subscription group but do not update it, the node list may remain empty. Use an easy-to-recognize group name, such as “Primary subscription,” and do not put access tokens in the label.
- Open “Subscription Group” → “Subscription Group Settings,” add a group, enter a name in the remarks field, paste the full subscription URL into the URL field, and save.
- Return to the main window, select the relevant group, then choose “Subscription Group” → “Update current subscription (without proxy).” Menu wording varies slightly by version; make sure the selected group is the one you just saved.
- Check the status or logs for download and parsing results. If the subscription endpoint is reachable only through an existing proxy, and you already have a working node, try “Update current subscription (through proxy).”
- After updating, check the node count, group, and labels, then set a node as the active server. A successful subscription update does not prove that every node can connect.
v2rayNG: Import on Android and Subscription Groups
In v2rayNG, single-node imports usually start from the “+” in the top-right corner of the main screen. The first time you connect, Android asks you to approve VPN access. This system permission is part of connecting, not importing a node.
- Clipboard: Copy the complete share link, open v2rayNG, and tap “+” → “Import from clipboard.” Return to the list, check the new entry, and select the node you want to use.
- QR code: Tap “+” → “Scan QR code” and grant camera access if prompted. Scan a code displayed on another screen. If your version can scan an image, you can also select a QR code image saved on your device.
- Subscription: Open “Subscription Group Settings” from the side menu, tap Add, enter a label and subscription URL, then save. Return to the main screen and choose “Update subscription” from the top-right menu. If the app lets you update the current group or all groups, select the appropriate option.
- Connect: Once a node appears in the list, select it and tap the connect button. Approve the system permission, then test access. Battery-saving settings may affect background operation; if the connection keeps dropping, check your system’s battery and background restrictions.
Use the Same Subscription on Both Devices
Desktop: v2rayN
- Save the URL in Subscription Group Settings.
- After updating, check the nodes and transport fields.
- Set the system proxy to suit your desktop apps.
Android: v2rayNG
- Add the subscription separately and update it.
- Use an Xray core that supports the required parameters.
- Approve the system VPN permission when connecting.
Each device saves and updates its own configuration. The active node, routing settings, and update times do not sync automatically. Follow any device and concurrent-connection limits set by the subscription provider.
Troubleshoot Import Failures and Empty Subscriptions
First identify which stage failed. Clipboard import problems usually involve the text or parser support. Subscription update failures usually involve the network request or response. If the node appears in the list but will not connect, check the server, transport settings, routing, and DNS.
“No valid configuration” after pasting: is the link broken?
First check that the link starts with a complete vmess:// or vless://. Remove quotation marks around the text and any chat-app numbering, but keep all parameters. If you copied an HTTPS subscription URL, use the subscription group option instead. If the complete text is still not recognized, check whether your client supports its transport and security parameters.
The subscription update timed out. Should I keep switching proxies?
Check your local network and system clock first, then make sure the subscription URL has not expired and includes any required token. If direct access fails, try updating through a proxy only if you already have a working one. Switching repeatedly to the same non-working proxy will not help; ask the provider whether the endpoint is available or if another URL can be used.
The update succeeded, but no nodes appeared. Why?
Clear any search or group filters and check which group is displayed. If it is still empty, confirm that the endpoint returns a node subscription supported by the client—not login HTML, a verification page, or another configuration format. A successful HTTP request only means a response was received; it does not guarantee that the response contains parseable nodes.
Why can my phone import a QR code that fails on desktop?
First determine whether the QR code was not recognized or was recognized but could not be parsed. For scanning problems, adjust the clarity and display size and remove anything covering the code. For parsing problems, check client versions and parameter support on both devices. Do not remove security, flow, or public key fields just to force an import; that changes the connection requirements.
A latency value appears after import, but my browser still cannot open pages.
Make sure the tested node is the active one, then check that the system proxy or mobile VPN is running. Some latency tests only check whether a TCP connection can be established; they do not verify the full protocol handshake or web access. Check real requests and runtime logs, rather than relying on one latency reading to confirm the configuration works.
Subscription Updates and Credential Safety
Treat share links, QR codes, and subscription URLs as connection credentials. Long strings in subscription URLs often identify an account, and a QR code may contain a UUID directly. Posting a QR code screenshot in a public forum is no safer than posting the link. When sharing diagnostic screenshots, hide credentials, the full subscription URL, and personal account details.
- Avoid duplicate groups: Creating multiple groups for the same URL can clutter the node list. Update the existing group when possible, and check which group an entry belongs to before removing duplicates.
- Update only when needed: Update after adding a subscription for the first time, when the provider announces a change, or when nodes stop working. Use scheduled updates only if the client supports them and the provider recommends them. Avoid repeatedly hitting the endpoint in a short period.
- Keep settings separate: A subscription provides nodes but does not necessarily include routing, DNS, or per-app settings suited to your device. Check these local settings separately when you change subscriptions.
- If a URL is exposed: Reset the subscription token or related credentials in your provider account, then replace the old URL saved on each device. Deleting a chat message does not invalidate credentials that have already been copied.
Once configured, follow a clear checklist: confirm the import type, check the node fields, select the active node, enable the traffic mode you need, and verify real-world access. This helps you distinguish a link entered in the wrong place from a failed subscription download or a node connection issue.
Download a Client or Read the Import Guide
For desktop, see v2rayN. For Android, see v2rayNG and v2flyNG. Choose a client based on the node’s protocol and core requirements, then follow the guide to import it and configure the connection.