Nodejs code to convert Bitcoin addresses into ZCash t-addresses, and vice-versa.
This conversion needs only the publicly-shareable 'pay-to' address – not your private 'spending' key.
Still, the same private ('spending') key that controls funds for a Bitcoin address can then control funds of the converted ZCash t-address (or vice-versa). To do so, you would need to export the private key from its original wallet software and import it to wallet software for the alternate system.
Use this code and notebook at your own risk.
Before relying on any such converted address to receive funds, it would be prudent to verify that…
* …your original private key is available to you (unlikely with web wallet services);
* …the private key can be imported into the alternate-system wallet of your choice; and...
* …the wallet-system then reports the same 'pay-to' address as this conversion does.
An appropriate level of paranoia in using any page/service like this would be to consider: "What if it's not doing the conversion it claims, and is instead substituting someone else's address?"
Even if you trust me, the author, or can review and trust all shown code, by running it here (or using the below webservice-endpoint), you must also trust that…
* …runkit.com is uncompromised, and faithfully running the shown code and reporting the results;
* …node libraries used (such as 'bs58check') were and remain faithfully functional upon each load;
* …your own machine hasn't been compromised with malware that slyly-replaces cryptocurrency-address strings when you're not paying attention
Depending on RunKit's logging policies, you may be creating a log record associating any pay-to addresses you enter to your IP address, browser, or RunKit account.