A user in Tokyo creates a Ledger hardware wallet using their device’s default language settings and generates a recovery phrase. Months later, they migrate to a different continent and attempt to restore their wallet using the same recovery phrase on a different computer and operating system. The words display correctly in the app, but when they attempt to import the phrase into another wallet application—or verify it by hand—they encounter character encoding errors, display anomalies, or outright rejection. The technical question is straightforward: can a recovery phrase generated in one language and character set reliably restore a wallet across different devices, applications, and operating systems?
The broader issue affects not only multilingual users but anyone managing a hardware wallet across platforms. A recovery phrase is the user’s ultimate key to their assets, yet its portability depends on how character encoding, word lists, and validation are implemented. Ledger’s design uses BIP39 standard word lists, but the interaction between Unicode normalization, input methods, and platform-specific text handling can create unexpected friction. Understanding these boundaries is essential for users who plan to use a recovery phrase as a true backup—not merely as a convenience feature managed by a single application, but as an independent proof of access that survives migrations, device changes, and inevitable application updates.
Table of Contents
BIP39 word lists and their linguistic scope
The Bitcoin Improvement Proposal 39 (BIP39) standard defines how a mnemonic phrase—a sequence of words—can be converted into a cryptographic seed. That seed then generates all the private keys for a wallet. Ledger hardware wallets follow this standard, which provides word lists in multiple languages: English, Spanish, French, Italian, Portuguese, Japanese, Korean, Simplified Chinese, Traditional Chinese, Czech, and others. Each word list contains exactly 2,048 unique words, and a valid phrase typically consists of 12 or 24 words selected from the language-specific list.
The immediate advantage is clear: a user can generate a recovery phrase in their native language and retain it as a memorable sequence. The less obvious consequence is that the phrase’s validity becomes tied to the correct language and word list. A 12-word phrase in English cannot be verified against the Japanese word list, even if individual words happen to appear in both. Each language has its own character set and validation boundaries. When a user inputs a recovery phrase—whether typing it manually, pasting it, or speaking it—the application must correctly identify which language is being used and validate against the appropriate word list.
Most hardware wallets and companion apps default to the user’s device language setting, which usually aligns with their preferred language. However, this assumption can break down across platforms. A device set to German will default to German word lists, but if that same user installs the wallet app on a computer configured for English, the app may default to English word lists instead. The user must then explicitly select the correct language before attempting recovery. If they do not notice the mismatch and try to import the German phrase into an English word list context, the validation will fail even though the words are identical—because they are being checked against the wrong reference.
Character encoding, normalization, and input method complexity
Beyond language selection, the technical mechanics of how characters are stored and compared introduce further subtlety. Unicode, the standard that defines how characters are encoded in digital text, allows the same visual character to be represented in multiple ways. A Japanese character such as é (e with acute accent) can be encoded either as a single precomposed character or as a base character followed by a combining accent mark. To human eyes, they appear identical. To a computer comparing byte sequences, they are different.
BIP39 implementations address this by normalizing Unicode input using the NFKD (Compatibility Decomposition) standard before validation. This means that whether a user types é as a precomposed character or as a base plus accent, the system converts it to the same internal representation before checking against the word list. Most modern implementations handle this correctly, but older applications, certain text input methods, and cross-platform workflows can bypass or misapply normalization, leading to phrase validation failures.
Input method editors—the software that translates keystrokes into characters in languages such as Japanese, Chinese, Korean, and Vietnamese—add another layer of potential inconsistency. A user composing Japanese hiragana characters using their device’s input method may encounter subtle differences in how the final characters are encoded depending on whether they complete the composition with a space, Enter key, or other confirmation gesture. When the same phrase is later entered on a different device with different input method settings, the resulting Unicode sequences may differ slightly, causing validation to fail despite the user believing they entered the exact same words.
The safest practice is to avoid manual re-entry whenever possible. Instead of typing a recovery phrase from memory or from a written backup, users should copy and paste the phrase directly from a trusted source if the application supports it. This eliminates input method and keyboard encoding issues, though it introduces the secondary risk of clipboard interference or malware. For truly critical backups, physical storage of the phrase—written by hand or engraved on metal—avoids encoding issues but introduces physical security and readability risks during recovery.
Cross-platform recovery and application compatibility
Ledger’s own ecosystem—Ledger Wallet crypto app on desktop and mobile, combined with the hardware device—is designed to handle these encoding challenges internally. The hardware device itself stores the seed in secure memory and never exposes the recovery phrase in plaintext during normal operation. When a user does need to recover a wallet, they typically use the same application type they used to create it, which simplifies the compatibility problem.
However, the recovery phrase’s primary value as a backup is that it is not locked to any single application. A user who loses their Ledger device can, in principle, use the recovery phrase to restore their wallet through alternative applications such as MetaMask, MyEtherWallet, Electrum, or other BIP39-compatible wallets. This portability is the phrase’s ultimate security property—it prevents any single application or manufacturer from holding the user’s funds hostage. When that portability is tested in practice, however, encoding and validation discrepancies can emerge.
An Ethereum user in France creates a wallet using Ledger Wallet with their device set to French language. They write down the 24-word recovery phrase as instructed. Months later, their Ledger device fails, and they attempt to restore through MetaMask on a Windows computer configured for English. MetaMask defaults to the English word list, and when the user inputs the French phrase, validation fails. The user then selects “French” in MetaMask’s language settings and re-enters the phrase, which now validates. However, the addresses generated may not match the original wallet, because the derivation path settings differ between Ledger and MetaMask, or because the application language setting does not fully control the seed generation process.
Private key derivation paths and cross-wallet incompatibility
The recovery phrase itself is only the first step in key generation. From a single phrase, multiple private keys and addresses can be derived using different “derivation paths”—sequences of calculations that determine which keys are generated from the seed. Ledger uses specific derivation paths for each asset type and network. Bitcoin on Ledger, for example, follows the m/84’/0’/0’/0/n path, while Ethereum follows m/44’/60’/0’/0/n. Other wallets may use different paths, meaning that even if they successfully validate and decrypt the same recovery phrase, the addresses they generate will be different.
This incompatibility is not a bug in any single implementation; it is an intentional design choice. Different applications optimize for different networks and security models, leading them to use different standard paths. A user who attempts to restore a Ledger-derived phrase in Trezor, for example, may find that the phrase validates correctly but generates completely different addresses, leaving them unable to access their funds. The solution requires either understanding the specific derivation paths used by each application or, more practically, always restoring through an application that explicitly supports the original hardware wallet type.
For this reason, the Ledger Wallet crypto app should be the primary recovery destination if Ledger hardware is lost, rather than attempting recovery through an unrelated application. Ledger publishes its derivation paths and key generation procedures, so theoretically a sufficiently informed user could calculate the correct addresses independently. In practice, most users rely on the application to handle these calculations, making cross-wallet recovery a fragile process even when the encoding issues are resolved.
Passphrase extensions and additional security complexity
BIP39 allows for an optional passphrase—a separate piece of information that acts as a 25th word or additional encryption layer. A user can create a recovery phrase in the standard way, then add a passphrase to generate a completely different wallet from the same phrase. This is a powerful security feature because it means that even if the recovery phrase is compromised, the passphrase remains the only key to the actual funds. However, passphrases introduce their own encoding and memory challenges.
A passphrase can be any sequence of characters, not limited to the BIP39 word list. This means Unicode normalization becomes even more critical. A passphrase containing accented characters, emoji, or non-Latin scripts must be entered consistently across recovery attempts, and the normalization process must be applied identically. If a user in Brazil creates a passphrase using Portuguese characters and later attempts recovery on a machine with different keyboard settings or text input methods, subtle encoding differences could prevent the correct wallet from being derived.
Ledger hardware wallets support passphrases and handle normalization internally, but users who lose their hardware device and attempt recovery through alternative applications face the same compatibility risks as with the base phrase. Additionally, forgetting the passphrase means permanent loss of access—there is no “forgot password” recovery mechanism in cryptocurrency. Users who rely on passphrases must store them with extreme care and ensure they can remember or reliably retrieve them under stress, since recovery may already be a high-stress situation.
Practical backup strategies for multilingual and cross-platform scenarios
For users managing crypto across multiple platforms or planning for worst-case recovery scenarios, several precautions reduce the risk of encoding-related restoration failures. First, test the recovery process before crisis occurs. Use a small amount of funds, export the recovery phrase, create a new wallet from that phrase using an alternative application, and verify that the addresses match. This test must be conducted immediately after initial setup, while you are confident about the phrase’s accuracy and can troubleshoot issues with your original hardware device still functioning.
Second, document the language and derivation path information alongside the recovery phrase itself. Instead of storing only the words, include a note stating “BIP39 phrase in French, generated by Ledger device, Ethereum derivation path m/44’/60’/0’/0/n.” This information helps during recovery and prevents mistakes such as selecting the wrong language or attempting restoration through an incompatible application.
Third, if passphrases are used, maintain a separate backup with even stricter controls. The passphrase should not be stored with the recovery phrase—if both are compromised, the security benefit disappears. Some users store the phrase and passphrase in different physical locations, or separate them by time (storing the passphrase only in memory, with written instructions for how to recreate it from personal information). The security trade-off is memorability against loss; a forgotten passphrase is as inaccessible as a compromised one.
Fourth, avoid relying on manual re-entry of recovery phrases whenever possible. If recovery becomes necessary, use copy-paste from a trusted electronic source (such as a backup file stored in encrypted form) or reading from a physical backup in a secure environment, then pasting into the recovery application. This eliminates input method and keyboard encoding errors while assuming the device being used for recovery is not compromised.
Hardware wallet security layers and the phrase’s role within them
The recovery phrase is only one component of a three-layer security model that Ledger hardware wallets implement: the secure hardware itself, the device’s operating system, and the companion application. The phrase is the user’s master backup key, but it is not the day-to-day mechanism for wallet access. Private keys are generated and stored only on the hardware device, never transmitted to the computer or app. Transactions are signed on the device and must be physically confirmed by the user pressing a button.
This architecture means that encoding issues with the phrase are primarily a recovery concern, not a daily security risk. A user can encounter and troubleshoot phrase encoding problems only when restoring a wallet from backup, which is typically a rare event. However, that rarity makes testing even more important. Users who have never tested recovery under non-emergency conditions may discover encoding incompatibilities only when they urgently need access, at which point troubleshooting becomes stressful and error-prone.
The relationship between hardware security and software portability is asymmetric. The hardware wallet’s security does not depend on the companion app—a compromised app cannot steal keys from a properly functioning device. However, the app’s reliability does depend on the hardware wallet working correctly during setup and backup creation. If the initial phrase generation occurs on a device with corrupted storage or input method issues, the resulting phrase may be subtly incorrect in ways that only become apparent during recovery.
Looking forward: standardization and user experience improvements
The BIP39 standard is mature, but its interaction with modern Unicode, platform-specific input methods, and diverse user workflows still creates friction. Future improvements could include better language auto-detection, explicit character encoding display during backup and recovery, and validation warnings when input method settings differ from the system language. Some hardware wallet manufacturers are experimenting with recovery mechanisms that do not rely on manual word entry at all—such as QR code backups or hardware-to-hardware sync—though these introduce different security trade-offs.
Until these improvements reach mainstream adoption, users with non-ASCII recovery phrases should treat encoding awareness as a necessary skill. Understanding that a recovery phrase’s validity is language-specific, that character normalization affects validation, and that different wallets may generate different addresses from the same phrase is not esoteric knowledge—it is essential background for anyone using their recovery phrase as a genuine backup rather than merely as a feature of a single application. The phrase’s power lies in its portability; its risk lies in the assumption that portability is simpler than it actually is.
Frequently asked questions
Can I use a recovery phrase generated in French on a device set to English?
The phrase itself is language-independent, but the application must validate it against the correct language’s BIP39 word list. During recovery, you must explicitly select French as the language before entering the phrase. If you attempt to enter a French phrase without changing the language setting, validation will fail. After selecting the correct language, the phrase should validate and generate the correct addresses.
Why do I get different addresses when restoring my recovery phrase in a different wallet app?
Different applications use different BIP39 derivation paths to generate addresses from the same seed phrase. Ledger uses specific paths for each blockchain and asset type, and other wallets such as MetaMask or Electrum use different paths. Even though the phrase is valid in both applications, the addresses generated will be completely different. To access your original funds, restore through the application that created the initial wallet, or use Ledger Wallet if the original was a Ledger device.
What is Unicode normalization and why does it matter for my backup phrase?
Unicode normalization ensures that the same visual character is treated identically regardless of how it is encoded internally. A character with an accent can be stored as a single unit or as a base character plus a combining accent. BIP39 systems normalize these to a standard form before validation. If you type your phrase on different devices or with different input methods, slight encoding differences could prevent validation unless normalization is applied correctly. Avoiding manual re-entry by copying and pasting from a trusted source prevents these issues.

