How long should my seed be?
Due to the way the underlying encryption works, the most secure seeds are exactly 81 trytes long. Shorter is less secure, of course, but interestingly, after 81 trytes, making the seed longer doesn’t increase security, either.
More info about that can be found here:
What characters can I use in my seed?
A seed may contain any characters in the set
[A-Z9] (that is, any uppercase letter and/or the number 9). An explanation for why only those characters are accepted can be found here:
What’s the best seed to use?
The best seed is one that is (and appears to be) completely random.
I included “appears to be” in brackets because you should also verify that your seed doesn’t contain “weak” sequences such as “9999999999”, “ABCDEF”, etc. Even if you generate your seed 100% randomly, it may still contain predictable or easy-to-guess sequences that weaken the overall security of your seed.
IMPORTANT: If you generate a seed that contains “weak” sequences, GENERATE A NEW RANDOM SEED. Do not “fix” the seed by swapping out trytes — this may actually reduce the entropy of your seed!
OK, OK, I get it! So, how do I generate a random seed then?
Unfortunately, the random seed generator was removed from the IOTA wallet in a recent release (if I recall correctly, there were some concerns about the security of the random number generator).
You can find some methods for generating random seeds in these posts:
Using built-in terminal commands (is this secure?):
Using a Python shell: