<p>See the related question <a href="https://bitcoin.stackexchange.com/questions/28244/can-you-help-me-fix-this-address/28259#28259">Can you help me fix this address?</a>.</p>

<p>It should be pretty easy to adapt the code I gave in my answer to try upper and lower case for each letter in the address, and for each possibility, see if its checksum validates.  The address you gave has 28 alphabetical characters, so there are 2^28 addresses to check, which is not too unreasonable.</p>

<p>I would not expect there to be any way that's substantially better than this brute-force approach.  Since the output of a good cryptographic hash function should look random, there shouldn't be any "patterns" in the upper/lower case distribution for us to take advantage of.</p>

<p>There is a chance that more than one possibility results in a valid address.  In that case, there would be no way to know which of them was the address that was actually intended (but if only one of them has appeared on the block chain, that should settle it.)</p>

CC BY-SA 3.0
2014-08-13T05:16:47.457Z
2014-08-13T05:16:47.457Z
2017-04-13T12:47:33.660Z
Nate Eldredge
<p>I'm assuming the issue is with a browser (also LastPass) using history of Blockchain URLs in lowercase, as I've encountered the same problem.</p>

<p>It's going to be quite difficult to do so since:</p>

<ul>
<li>public address is case sensitive (which you know)</li>
<li>public key has a check sum which is also case sensitive</li>
</ul>

<p>However,</p>

<ul>
<li>Secret exponent is case insensitive</li>
<li>Blockchain can be tested for correct address with API or more simply at <a href="http://Blockchain.info/address/1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp" rel="nofollow">http://Blockchain.info/address/1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp</a></li>
</ul>

<p>If you're looking for Java code or something similar (Python, Ruby), then, <strong>yes</strong>. It'd involve checking all permutations of case of your public key until it matches the secret exponent of the desired proper case key using Blockchain's API. You could implement something similar to vanitygen OpenCL also...</p>

<p><em>but it all comes back to how much effort you want to devote here</em></p>

CC BY-SA 3.0
2014-08-13T04:27:28.170Z
see also https://bitcointalk.org/index.php?topic=90982.0
amaclin
CC BY-SA 3.0
2014-08-13T03:10:50.227Z
2014-08-13T03:10:50.227Z
Wizard Of Ozzie
<p>Is it possible to take a lower-cased address like 1dice8emzmqkvrge4qc9buff9px3xaydp and convert it to the properly capitalized address of 1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp ?</p>

<p>I've looked around and everything can simply tell me whether it is valid or not.  And without the correct capitalization, the address is of course not valid.</p>

<address>
Convert an lower-cased address to a properly capitalized address?
Bitcoin
# Convert an lower-cased address to a properly capitalized address?

(Asked by: username_0 on 2014-08-13)

Is it possible to take a lower-cased address like 1dice8emzmqkvrge4qc9buff9px3xaydp and convert it to the properly capitalized address of 1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp ?

I've looked around and everything can simply tell me whether it is valid or not. And without the correct capitalization, the address is of course not valid.

**Tags:** address


---

## 2 answers

### Answer by username_1 on 2014-08-13. Score: 2 | Accepted answer

See the related question [Can you help me fix this address?](https://bitcoin.stackexchange.com/questions/28244/can-you-help-me-fix-this-address/28259#28259).

It should be pretty easy to adapt the code I gave in my answer to try upper and lower case for each letter in the address, and for each possibility, see if its checksum validates. The address you gave has 28 alphabetical characters, so there are 2^28 addresses to check, which is not too unreasonable.

I would not expect there to be any way that's substantially better than this brute-force approach. Since the output of a good cryptographic hash function should look random, there shouldn't be any "patterns" in the upper/lower case distribution for us to take advantage of.

There is a chance that more than one possibility results in a valid address. In that case, there would be no way to know which of them was the address that was actually intended (but if only one of them has appeared on the block chain, that should settle it.)


---

### Answer by username_2 on 2014-08-13. Score: 0

I'm assuming the issue is with a browser (also LastPass) using history of Blockchain URLs in lowercase, as I've encountered the same problem.

It's going to be quite difficult to do so since:

* public address is case sensitive (which you know)
* public key has a check sum which is also case sensitive

However,

* Secret exponent is case insensitive
* Blockchain can be tested for correct address with API or more simply at <http://Blockchain.info/address/1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp>

If you're looking for Java code or something similar (Python, Ruby), then, **yes**. It'd involve checking all permutations of case of your public key until it matches the secret exponent of the desired proper case key using Blockchain's API. You could implement something similar to vanitygen OpenCL also...

*but it all comes back to how much effort you want to devote here*

> **Comments:**
> **username_3**: see also https://bitcointalk.org/index.php?topic=90982.0  

---

