Ledger Nano S and Trezor One: A Detailed Comparison

Disclaimer: This is not a review of all features of either Trezor One or the Ledger Nano S. It is something much better: a practical, honest comparison with pros and cons based on several months of daily us. I guarantee that the things you read here, you will not find anywhere else online.

I will begin with the conclusion that both devices work as expected and do their job well. Whichever one you buy, you will not make a mistake. However I will go on and claim that you will actually be served best if you use both together: each device has a different set of strengths and limitations but together they complement beautifully, and will fulfill your daily and long term needs perfectly.

So, let’s start by breaking down differences during more and less frequent operations.

Carrying Around

The weight of the Trezor and the Ledger is similar, but due to its shape and the steel bracket that wraps around it, the latter feels better protected. I wouldn’t want to carry it in my pocket for fear of losing it, but I have been carrying it around my neck using the included lanyard and I never fear I am going to crush it. (Note: I am very fat and I often tend to press my chest on the desk while working, a normal person will not have this problem, but still.) The Trezor has much bigger surface area and a larger screen, and I wouldn’t want to carry it the same way. I prefer to keep it in a small plastic box instead.

Conclusion: Ledger Nano S has the advantage.

PIN Entry

Unlocking the hardware wallet is the first point of contact you are making with it every time you need to use it, and user experience is very important. The way this operation is performed happens to show the first important practical difference between the two devices.

In order to unlock their wallet, the user must enter a 4-8 digit PIN number. With the Trezor One, the user must see how the numbers between 1 and 9 are arranged in a 3×3 pattern on the display of the device and then use the mouse to click on the unmarked 3×3 pads displayed on the computer. With the Ledger Nano S, it is a very tedious procedure which involves using the left and right  buttons as up and down to select a number and then press buttons to enter a number, then repeat the procedure for every other digit in your PIN. For a 8-digit code, you will have to press the buttons an average of 40-45 times, it is excruciatingly boring.

Also, after entering the PIN, the Trezor is ready to be used in whichever way you want to. The unlocked Ledger just sits there doing nothing — you need to perform an extra step and choose an application (that might be a wallet for a particular crypto currency, or an additional function such as 2FA or PGP). This adds even more button presses and makes things even more annoying!

Although it may sound like Trezor is the clear winner here, ironically it isn’t. The Ledger asks you to press a lot of buttons, but allows you to do it using the device alone. Trezor does not allow you to enter the PIN code onto itself: you need to launch the Trezor app and click on the num pad on your PC screen while looking at the order of numbers on the Trezor screen.

This means that if you want to use your wallet as a 2FA token (which is good OpSec and I wholeheartedly suggest you train yourself to do), the Trezor is severely limited. With the Ledger, you can unlock your PC and log into a Fido-enabled service such as Dropbox, Gmail or Bitfinex, while with Trezor you need to log into your PC using different mean, fire up the helper app, unlock the wallet and only then proceed to authenticate in other services.

The designers of Trezor have recognized this limitation and the new Trezor Model T which ships since Q1/2018 provides the ability to enter your PIN on the device itself. Once it does this, it will be the clear winner.

Conclusion: Ledger Nano S (grudgingly) wins here, but the new Trezor Model T will turn the tables.

Honorable mention: The KeepKey hardware wallet, which is based on the same hardware as the Trezor One, but uses a different form factor and has a touch screen, will probably be equally suited.

Device Form Factor, Screen Size and Orientation

Both devices have bright and readable screens. Because the Trezor has a larger surface area, its screen can display much more information (further down in this article I am giving particular examples where this is important). However, the Ledger has a small but important advantage: the display can be switched up/down. It is amazing how something so small can make such a huge difference in convenience.

The problem is that both devices need a USB cable to connect to the host computer. And depending on how you’ve arranged your workspace, that USB cable will probably be coming from either the left or right and make a turn around the keyboard. The shape of the Ledger is such that it doesn’t matter which way the cable comes: it connects to either the left or the right size of the dongle, and you flip the screen accordingly. With Trezor, it isn’t that simple.

Ledger Nano S on USB cable
Natural state of Ledger Nano S — screen is more or less aligned with user’s point of view.

See, the Trezor has the shape of a teardrop, and can only be comfortably used with the USB cable coming up and connecting to its bottom. If you keep the Trezor on your desk, between your body and your keyboard, this means the cable must bend at a right angle, which is not easy because the Trezor itself weighs less than the cable and when left on its own will naturally want to turn towards the direction from where the USB cable is coming, which means its screen will be at an 90 degree angle with respect to you.

Trezor One on USB cable
Natural state of Trezor One — screen stays at an unusable angle.

There is no easy solution to this problem apart from using some sort of docking cradle (and it isn’t an accident that several official Trezor photos show it on a cradle), but in real life usage would be easier if the Trezor allowed the screen to be rotated and/or inverted. This way the USB cable coming from the side of the keyboard would stay naturally straight and the Trezor screen would be in normal position (granted, the two buttons would be on top or on the side instead of under it, but I can live with that).

Conclusion: this may or may not be an issue for you. For me, it is a permanent source of immense annoyance — so much that it has influenced my preference to use the Trezor less in favor of the Ledger Nano S. Also, I’ve looked into getting a special USB cable with a right-angle microUSB header just so that I can have the damn thing stay aligned instead of chasing it around my desk. Ultimately, I find the shape of the Trezor sexy, but not suited well for its purpose. Ledger wins this round.

Wallet Applications (Implementation)

The Ledger relies on two Chrome-based apps. The Ledger Manager is a maintenance tool which you need to install apps for different crypto currencies or update firmware. Then there’s Ledger Wallet Bitcoin & Altcoins (actually, different apps that look the same but support different coins) plus separate standalone apps for Ethereum/Ethereum Classic (Ledger Wallet Ethereum) and XPR (Ledger Wallet Ripple).

Here is a VERY important limitation that is never reported in the other reviews and is only briefly mentioned somewhere deep in the Ledger FAQ page:

The Ledger Nano S has very limited memory and can carry only a limited number of apps at any given time. You are free to remove unused apps and replace them with others as often as you like, and your keys will not be lost, but you cannot transact simultaneously with more than 4-5 coins at the same time.

Trezor uses a somewhat different approach. It does have a Chrome app same as Ledger, but it also has a browser-based version that is accessed via https://wallet.trezor.io (there is also a beta version with additional functionality found at https://beta-wallet.trezor.io). To make the browser-based GUI accessible from Chrome and Firefox1, Trezor provide the aptly called Trezor Bridge helper utility. It is a small app that runs a local http server on port 21325 and allows the Trezor wallet software to communicate with the device over locally executed JavaScript (you can verify it is running by opening http://127.0.0.1:21325/status/ in your browser). Trezor also provides a copy of the Trezor wallet software that you can run locally over Python HTTP server, however I have not been able to do that due to CORS issues. See https://wiki.trezor.io/User_manual:Running_a_local_instance_of_Trezor_Wallet_backend_(Blockbook) if interested.

It is important to note that both the Chrome app and the web GUI provide access to all supported crypto currencies from within the same app using a drop-down menu.

Having a web-based GUI puts Trezor at a clear advantage here. Ledger have some catching up to do, because Google plans to drop support for Chrome apps on Windows, Mac and Linux in early 2018.

Ledger has a small advantage for Ethereum users: ETH/ETC are supported natively. Trezor does not support Ethereum directly — it uses MyEtherWallet. Both Trezor and Ledger require MyEtherWallet to support ECR20 tokens.

Conclusion: Trezor wins on implementation, unless Ethereum/Ethereum Classic native support is required. Don’t forget that Ledger can’t keep more than 5 apps at any given time!

Wallet Application (Usability)

Both the Ledger and Trezor have comparable feature sets; the only thing Trezor offers extra is the ability to sign/verify messages using Bitcoin keys.

But way more important than this, the fact is that the Trezor app offers much, MUCH better usability. Here are the main things I have discovered so far:

One GUI, many currencies: the Trezor app has unified interface and feature set, and you switch between currencies using a drop down menu. With the Ledger, you need to use the device to select the app for the currency you want to transact and then wait for the GUI to load and refresh blockchain data. An operation as simple as exchanging some coins via Changelly becomes annoyingly contrived — launch coin app #1 to check balance and decide how much to convert; launch coin app #2 to issue receive address; launch coin app #1 again to initiate transfer to the address given by the service. Give. Me. A. Fucking. Break.

Better transaction visibility: Because of its larger screen, Trezor can show send address and amount on the same screen. The Ledger offers the same information but the characters have to scroll through the long and narrow screen, making it easier to miss an error or a forged send address.

Convenient payment interface: the Trezor app has with autocomplete feature that remembers previously entered coin addresses. I found it particularly useful when I blew some Bitcoin Cash on a game of Satoshi Dice.

Offline Mode: both the standalone Chrome app and the web-based GUI can be used (with some restrictions) after you unplug the device. Provided you don’t switch to another currency, you can still monitor balance or issue new receive addresses. If you don’t want to do this, you can ‘forget’ the state of the app with a single click (the web-based GUI behavior is forget by default, and you have 10 seconds after unplugging the token to click on a ‘remember account’ button if you want to). With the Ledger, once you unplug the device or it locks itself, all data on your coins is hidden.

Other Quality-of-Life features:

  • Label sync: The Trezor app allows you to sync labels for account names and addresses using Dropbox. Ledger offers something similar using either their own back-end server, or storing customization data on the device itself (I don’t know which one). If it is syncing over the Internet, they should have given me a way to decline using it the way Trezor asks.
  • Currency support: Trezor supports 25 currencies. Ledger offers 23 currencies. In both, all the important ones are there (USD, EUR, CNY, JPY, RUB…) but Trezor also offers my native BGN while Ledger doesn’t.
  • Interface customization: Trezor supports (somewhat longer) labels for accounts and addresses than Ledger, but Ledger can also assign colored dots to accounts for easier recognition. Sadly however it only supports five pre-determined colors.
  • Token customization: because of its larger screen, the Trezor can be programmed to show a 128×64 BW bitmap on the home screen, making it easier to recognize multiple Trezors. Ledger does not offer the ability to customize home screen.

Conclusion: Trezor wins, hands down.

Wallet Application (Supported Coins)

Both Ledger and Trezor regularly update their software to support more alt coins. I won’t list them here because that information will likely become outdated very soon. Do your own research.

The only thing worth mentioning is the state of support for Ethereum, Ethereum Classic and ECR 20 tokens (see above). Everything I’ve written so far may not matter in case native support for ETH is of utmost importance to you.

Conclusion: I’d give an edge to Ledger because of native support for Ethereum (ETH/ETC/ECR) and Ripple (XPR). But as I’ve never transacted with Ethereum, I have no idea how valuable is this over MyEtherWallet.

Wallet Application (What is Missing)

Both wallets miss a substantial Bitcoin feature: coin control. Said otherwise, you are not able to choose which UTXOs to spend by hand, you must rely on the software algorithm to pick up the inputs. This can significantly reduce your privacy and I find it annoying that both HW wallet manufacturers seem to ignore this feature.

Note: if the ability to exercise coin control is important to you, you may consider running Electrum wallet and using your hardware wallet as a key store. Here is how to do it: Using Trezor with Electrum v3 (procedure is identical with Ledger Nano S).

Other Uses

Both Trezor One and Ledger Nano S support the Fido U2F standard and can be used as hardware tokens to restrict access to a website or online service.

Trezor U2F Authentication
U2F Authentication with Trezor — I see the service name and logo

The BIG advantage of the Trezor here is that it can show the logo and the name of the service it asks you to authenticate (e.g. Bitfinex, Dropbox…). For whatever reason, Ledger only shows the first characters of the ID string of the service and unless you remember them by heart, you can’t always be sure if you’re asked to authenticate to the right service. So despite its screen the Ledger Nano S provides identical level of security to that of a screenless Ubikey, while Trezor presumably makes authentication spoofing a little more difficult.

Ledger U2F Authentication
Ledger U2F Authentication — how do I know 302F…1E63 is Bitfinex and not another tab?

However remember the issue with unlocking your token? There is another difference between how Ledger and Trezor handle U2F authentication as a result of this.

Once your Trezor powers down, you can’t use it to access your wallet until you re-enter your PIN to unlock it. But for whatever reason, sometime it will allow you to use it for U2F authentication and sometime it will ask for PIN first. So there is some chance the Trezor will let you authenticate easily, or block you until you open your wallet app and reinitiate PIN login. With the Ledger Nano S, you can repeat the contrived PIN entry procedure and while cursing at the developers, you will get the job done same way, every time.

After ~2 months of everyday use, I find myself using the Ledger as 2FA token all the time, and the Trezor much less frequently. As a matter of fact, my Trezor tends to stay connected to my PCs much less time than my Ledger!

Update: after ~4 more months, things have reversed. I am having problems with some micro USB cables that do not mate reliably with the Ledger Nano S. This is really annoying because there might be times where the device will turn on (because the USB power carrying pins are longer) but will not communicate with the system, and I am not aware of this because the device will allow me to unlock it, it just doesn’t do anything after that. No such issues with Trezor.

Ledger offer a small extra courtesy to Windows 10 users in the form of a Hello app that allows you to authenticate for Windows login with a Ledger Nano S the same way as with a Ubikey. The downside of this feature is that it occupies space on the Ledger itself — space that could otherwise be used for a crypto currency app!

Conclusion: Ledger has this one covered better.

Final Conclusion

As I said in the beginning, the Trezor One and the Ledger Nano S seem to complement each other very well. Without given things much of a thought, the feature set and peculiarities of each device pushed me into a comfortable pattern. I carry my Ledger with me at all times. I use it to authenticate at Bitfinex (sadly, no other exchanges offer hardware 2FA support…) and for collecting my ZEC earnings & converting them into Bitcoins. My Trezor mainly stays at home; I keep my Bitcoin savings there, but I don’t connect it very often, because I use the Chrome app in offline mode as a watch-only wallet.

Which of the two devices do I like more? The Trezor, hands down. But then again, I am using my Ledger much more frequently, despite the annoying PIN entry procedure. If you ask me now to choose only one and let go of the other, I won’t be able to do it. It seems both devices are doing their job and that I’ve come to accept their differences and limitations.

If you have reached the end of this post and still hesitate which one to buy, let me know in the comments below. I will try to help you out.

Please consider supporting this blog by clicking on the banner below when purchasing bitcoin equipment.
Ledger Nano S - The secure hardware wallet