In React, I use a Web3js call function to get a value. The returned value is in Wei. However, I want to render it in Ethers. What would be the best way to do it?


In web3.js 1.0, use this:

web3.utils.fromWei(number [, unit])


| improve this answer | |

I think you're looking for fromWei. In web3.js 0.2x.x:

web3.fromWei(n, 'ether')
| improve this answer | |
  • Thanks for the answer. For some reason, I'm getting "Cannot read property 'fromWei' of null" – Ruham Mar 5 '18 at 6:04
  • Is web3 null? – user19510 Mar 5 '18 at 6:05
  • No, the function returning Wei works. I imported Web3 from 'web3', and set a current provider. – Ruham Mar 5 '18 at 6:09
  • let web3 = new Web3(Web3.currentProvider) after which {web3.fromWei(price, 'ether')} – Ruham Mar 5 '18 at 6:10
  • And now, the error is: new BigNumber() not a number: [object Object] – Ruham Mar 5 '18 at 6:10

web3.utils.fromWei(yourValue, 'ether')

^^^ You must use the utils library. If you're getting the weird, TypeError: web3.fromWei is not a function and you're trying to console log the output, try setting the function call to a constant and then console logging that constant. Like so...

yourValue = returned amount of ether

returnValue = web3.utils.fromWei(yourValue, 'ether')


| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.