How to add a configuration to Happ: link, QR and happ://crypto
- Author
- Ekaterina Lebedeva, Knowledge Base editor
- Reviewed by:
- Artem Volkov
- Fact-checked:
- Published:
- , updated
- Guide version:
- 1.0
In short
You can add a configuration or a subscription to Happ in four ways: paste a link from the clipboard, scan a QR code, open an encrypted happ://crypto link, or import a JSON configuration. Pick the method by what your provider or server administrator gave you.
Happ accepts data in three ways: manual entry with the “+” button, a protocol link, and a subscription. Technically, the data gets into the app in one of four ways: through the clipboard, by scanning a QR code, through a happ://crypto deeplink, or as a JSON configuration that the Xray-core engine uses unchanged. The clipboard and a QR code fit almost every case, a deeplink works when you tap a link on the device itself, and JSON is a separate format for people who need parameters that short links like vless:// cannot carry. Each method solves its own situation, and the difference between them is not reliability but convenience in a particular case.
Import methods
What “import” means in Happ
Import is any way of passing the app what it should connect to: the configuration of one server or a subscription to a list of servers. In essence Happ supports three ways of adding: manual entry, a link and a subscription. Technically a link or a subscription gets into the app in one of four ways: through the clipboard, by scanning a QR code, through a deeplink, or as a JSON configuration.
All four ways are equivalent for the final result: the server appears in the general server list no matter how it got there. The difference is what is more convenient in a given situation: a computer usually has a clipboard at hand, while a TV has only a camera for a QR code.
The four methods technically
| Method | What you need | When it is convenient |
|---|---|---|
| Clipboard | The whole link, copied | The main way on a phone and a computer, faster than the others |
| QR code | The device camera and an image of the code | TVs, and passing data between two devices when typing text is awkward |
happ://… deeplink | Tapping a link on the device where Happ is installed | A button on a provider's site or in a message opens Happ directly |
| JSON configuration | A file or text in the Xray-core format | Parameters that a short protocol link does not have |
You can read a detailed breakdown of the encrypted link method on the happ://crypto import page.
Manual entry when there is no ready link
If you have only separate parameters, such as an address, a port and an access key, manual entry will do. Tap the “+” button in the upper right corner of the main screen, choose manual entry, pick a protocol from the list (VLESS, VMess, Socks5, Trojan, Shadowsocks or Hysteria2), fill in the fields and confirm. The server appears in the server list the same way as after a link import.
This method is slower than the others, so choose it only if there really is no ready link, QR code or subscription.
What to do if the import did not work
Each method has its own point of failure. A link may have been copied with a break, the clipboard may be empty at the moment you tap “+”, and the subscription server may not respond in time. In such cases Happ shows a specific text, not a vague “error”:
- “Clipboard is empty”: you forgot to copy the data before importing;
- “The subscription URL is not valid”: the address contains mistakes or invalid characters;
- “Configuration
{config type}is not valid”: the server link is damaged; - “Invalid deeplink URL”: the deeplink was not recognized by the app.
You can find the causes and fixes for each message in the Errors section. If it is unclear what exactly went wrong, start with the symptom-based diagnostics for failed imports.
How this connects to other sections
Import is the technical side of adding; what a key, a configuration and a subscription are and where to get them is covered in the Keys for Happ section. After the server is added, choosing a specific node by protocol, location and ping belongs to the Servers section. If an imported link led to an error instead of a working server, the next step is the Errors section or general problem diagnostics.
Key takeaways
- Happ supports four technical ways of adding: the clipboard, a QR code, a happ://crypto deeplink and a JSON configuration.
- A protocol link (vless://, vmess://, trojan://, ss://, socks:// or hysteria2://) can be pasted from the clipboard, scanned as a QR code or opened as a deeplink.
- An encrypted happ://crypto link is added like an ordinary one, but it hides the subscription address and server parameters from the user.
- Happ passes a JSON configuration to the Xray-core engine unchanged, so some of the app's routing settings do not apply to it.
- If an import fails, Happ shows a specific error text, such as “Clipboard is empty” or “The subscription URL is not valid”, and the site explains such errors separately.
Frequently asked questions
Which way of adding to Happ is easiest for a beginner?
The clipboard: copy the whole link from your provider or server administrator, open Happ and tap “+”, and the app offers to paste what you copied. A QR code is needed less often, usually when a link is awkward to send as text, for example to a TV. Manual entry by separate fields is worth choosing only when there is no ready link at all.
How does an encrypted happ://crypto link differ from an ordinary one in how it is added?
It does not: you paste it from the clipboard, scan it as a QR code or open it as a deeplink in the same way. The difference shows after adding: the subscription address and server parameters stay hidden from the user, and you cannot view or forward them from the app. Technically it is the same subscription, just with an encrypted address.
When does Happ need a JSON configuration instead of a short link?
When the server parameters do not fit the protocol link format, or the server administrator gave you a ready Xray-core settings file. Happ passes JSON to the core unchanged, so it can describe things that short links cannot. The price is that some of the app's routing does not apply to such a server.
Can I add several servers in one action?
Yes, if it is a subscription: one address returns the whole list of configurations, and Happ adds them all at once and then refreshes them on the next request. A protocol link and a JSON configuration usually describe one server at a time, so without a subscription you add several servers one by one.
Why does an import into Happ sometimes end with an error?
Most often the link was copied incompletely, the clipboard was empty when you tapped “+”, or the subscription server did not respond in time. The app shows a specific text, for example “Clipboard is empty” or “The subscription URL is not valid”. The most frequent messages have a separate explanation of causes and fixes on this site.
Does QR code import work the same on a phone and on a computer?
The idea is the same, an encoded link instead of typing by hand, but the way of capturing differs. On a phone, the device camera scans the QR code through Happ. A computer usually has no built-in camera for this, so there people more often use the clipboard or a deeplink, while a QR code remains the main way for TVs and for passing data between devices.
Related sections
Sources
- Happ documentation: adding a configuration and a subscription — accessed September 28, 2026
- Happ documentation: errors — accessed September 28, 2026