https://en.wikipedia.org/wiki/Base64#URL_applications
> Using standard Base64 in URL requires encoding of '+', '/' and '=' characters into special percent-encoded hexadecimal sequences ('+' becomes '%2B', '/' becomes '%2F' and '=' becomes '%3D'), which makes the string unnecessarily longer.
Replaces '+' with '-' and '/' with '_' while omitting the '=' padding.
If you're using Java, it's right in the standard library:
`Base64.getUrlEncoder().withoutPadding().encode(value)`
> Base64 has eleven encoding variations that lead to confusion among developers on which variety of Base64 to use.
Each variation has its own niche (URL safe characters, filename safe characters, checksum support, etc). I see Base58 as basically just another variation of Base64 with its own niche (human friendly characters).
There's no need for existing apps to "convert". If their current Base64 implementation is good enough, they'll stick with it. Base58 is just another variation to consider when developing something new.
As an example, this is used in Bitcoin addresses to ensure you don't accidentally type the wrong characters if copying an address by hand.