Your executor is probably the best keeper of your will, since this is the person or entity that will need to find it and deal with it after your death. If you keep your will with your executor, no one else even necessarily has to know of its existence, nor would they have access to it.
Keeping your will in your own possession is another good choice. If you have a safe at home, that is an obvious choice, provided your executor knows the combination. Presumably you trust him enough or else you would not have named him to handle your estate in the first place. The alternative is that he can have the safe broken into after you pass away, but that would cost your estate money. The Department of Defense actually advises military service members to consider keeping their will in a waterproof bag in their freezer. Your will is safe there from fire and most natural disasters, but your family members will discover it soon enough, so you would lose a measure of confidentiality if that is a concern for you.
If you had an attorney draw up your will, she would maintain a copy of it, but your executor will need to submit the original will to probate court. You can leave the original with her as well, but there are drawbacks to this. Unless someone in the firm notices your obituary, your attorney might not be aware of your death, so you should tell your spouse, executor or family members that it is there. If your attorney is a solo practitioner, there is also the possibility that she could die before you and her office files could become out of reach for your executor.
Don’t put your will in your safe deposit box unless you consult with an attorney and make sure that your state will allow your executor to open it after your death to retrieve your will. Some states put a freeze on safe deposit boxes when the owner dies and your executor would need a court order to get it opened.
Wherever you keep your will, you should make sure it is accompanied by a comprehensive list of anything else your executor will need to know, such as contact information and account numbers for your banks, investment institutions, insurance agencies, credit card companies, auto lender and mortgage holder. If you are not married or close with your family, make sure your executor also has contact numbers for your relatives. You can also leave instructions as to where certain assets are located, such as if you maintain a storage unit or a safe deposit box.