<p>Besides for the checksum, the WIF key is encoded in base58, where similar looking letters, such as uppercase "O" and "I", lowercase "l", and the number "0" are omitted.</p>

<p>WIF does not hide the private key, it merely represents it in an alternative format. A WIF key can be converted back to a private key by walking-back through the formula used to create it: base58 decode the WIF key, drop the mainnet header bytes and checksum trailing bytes off the resulting encoded string, and there you have your private key.</p>

<p>The original Bitcoin client source code explains the reasoning behind base58 encoding:</p>

<p>base58.h:</p>

<pre><code>// Why base-58 instead of standard base-64 encoding?
// - Don't want 0OIl characters that look the same in some fonts and
//      could be used to create visually identical looking account numbers.
// - A string with non-alphanumeric characters is not as easily accepted as an account number.
// - E-mail usually won't line-break if there's no punctuation to break at.
// - Doubleclicking selects the whole number as one word if it's all alphanumeric.
</code></pre>

CC BY-SA 3.0
2017-11-23T18:16:11.030Z
2017-11-24T03:29:48.403Z
2017-11-24T03:29:48.403Z
shmuli
<blockquote>
  <p>Are there any good points of WIF</p>
</blockquote>

<p>It is shorter than decimal/hex representation. And, yes, there is checksum.</p>

<blockquote>
  <p>Can I sign on a transaction by using WIF without the private key?</p>
</blockquote>

<p>WIF <strong>is</strong> a representation of private key. </p>

CC BY-SA 3.0
2015-01-25T17:11:16.200Z
Another important feature of the WIF is that it encodes whether the public key for the private key is to be used as an uncompressed/compressed public key.
morsecoder
CC BY-SA 3.0
2015-01-30T07:54:56.953Z
Can someone clarify what a SIPA format key is? BCI Wallet (JavaScript) source code refers to this. Seems like it maybe an archaic WIF synonym.
Wizard Of Ozzie
CC BY-SA 3.0
2015-01-30T09:26:16.723Z
https://bitcointalk.org/index.php?topic=80861.5
amaclin
CC BY-SA 3.0
2015-01-30T09:27:18.923Z
https://bitcointalk.org/index.php?topic=129652.msg1384929#msg1384929
amaclin
CC BY-SA 3.0
2015-01-25T15:47:14.553Z
2015-01-25T15:47:14.553Z
amaclin
<p>I am reading "Mastering Bitcoin" written by Andreas and I found this explanation about "WIF(Wallet Import Format)"</p>

<blockquote>
  <p>Key Formats</p>
  
  <p>Both private and public keys can be represented in a number of
  different formats. These representations all encode the same number,
  even though they look different. These formats are primarily used to
  make it easy for people to read and transcribe keys without
  introducing errors.</p>
  
  <p><a href="http://chimera.labs.oreilly.com/books/1234000001802/ch04.html#base58" rel="noreferrer">http://chimera.labs.oreilly.com/books/1234000001802/ch04.html#base58</a></p>
</blockquote>

<p>I have two questions:</p>

<ol>
<li><p>I agree with that a private key as decimal numbers is not easy to use for people. However, the hex format and WIF are very similar. I think that WIF has two advantages compared to hex. One is starting with 5 and the next one is having checksum. Are there any good points of WIF.</p></li>
<li><p>Can I sign on a transaction by using WIF without the private key?</p></li>
</ol>

<p>I'm keen to know about inside bitcoin. Any information will be helpful for me.</p>

<p>Thanks,</p>

<address><private-key><wallet-import-format>
What roles of WIF(Wallet Import Format)?
zono
# What roles of WIF(Wallet Import Format)?

(Asked by: username_0 on 2015-01-25)

I am reading "Mastering Bitcoin" written by Andreas and I found this explanation about "WIF(Wallet Import Format)"

> Key Formats
>
> Both private and public keys can be represented in a number of
> different formats. These representations all encode the same number,
> even though they look different. These formats are primarily used to
> make it easy for people to read and transcribe keys without
> introducing errors.
>
> <http://chimera.labs.oreilly.com/books/1234000001802/ch04.html#base58>

I have two questions:

1. I agree with that a private key as decimal numbers is not easy to use for people. However, the hex format and WIF are very similar. I think that WIF has two advantages compared to hex. One is starting with 5 and the next one is having checksum. Are there any good points of WIF.
2. Can I sign on a transaction by using WIF without the private key?

I'm keen to know about inside bitcoin. Any information will be helpful for me.

Thanks,

**Tags:** address, private-key, wallet-import-format


---

## 2 answers

### Answer by username_2 on 2015-01-25. Score: 9 | Accepted answer

> Are there any good points of WIF

It is shorter than decimal/hex representation. And, yes, there is checksum.

> Can I sign on a transaction by using WIF without the private key?

WIF **is** a representation of private key.

> **Comments:**
> **username_3**: Another important feature of the WIF is that it encodes whether the public key for the private key is to be used as an uncompressed/compressed public key.  
> **username_4**: Can someone clarify what a SIPA format key is? BCI Wallet (JavaScript) source code refers to this. Seems like it maybe an archaic WIF synonym.  
> **username_2**: https://bitcointalk.org/index.php?topic=80861.5  
> **username_2**: https://bitcointalk.org/index.php?topic=129652.msg1384929#msg1384929  

---

### Answer by username_1 on 2017-11-23. Score: 7

Besides for the checksum, the WIF key is encoded in base58, where similar looking letters, such as uppercase "O" and "I", lowercase "l", and the number "0" are omitted.

WIF does not hide the private key, it merely represents it in an alternative format. A WIF key can be converted back to a private key by walking-back through the formula used to create it: base58 decode the WIF key, drop the mainnet header bytes and checksum trailing bytes off the resulting encoded string, and there you have your private key.

The original Bitcoin client source code explains the reasoning behind base58 encoding:

base58.h:

```
// Why base-58 instead of standard base-64 encoding?
// - Don't want 0OIl characters that look the same in some fonts and
//      could be used to create visually identical looking account numbers.
// - A string with non-alphanumeric characters is not as easily accepted as an account number.
// - E-mail usually won't line-break if there's no punctuation to break at.
// - Doubleclicking selects the whole number as one word if it's all alphanumeric.

```


---

