I can tell you how you should not do it.. perhaps.. don't take the width of a peak and say the size it's the reciprocal of it. You can find the (non) answer to this question largely discussed here on RG
@ Mark: Try doing a search https://www.researchgate.net/search.Search.html?> on the word "crystallite size" and limit to "Questions" using the tab on the right side. There are over 100+ conversations to peruse. A few have some useful information! ;-)
Scherrer's equation is customary used to estimate the mean crystallite size. After the deconvolution of instrumental broadening from the half width of the crystalline peak, you can apply this equation. However, there is a problems about this method. That is, the selection of "correct" Scherrer constant is very difficult. The constant should be selected in principle according to the observing system. In many articles, the values, 0.89, 0.9, or 0.94 are used without considering the adequacy. It is better that you can obtain a value using these Scherrer constant but result may be somewhat different from the truth. If you consider only the relative difference among samples, this method is useful.
If the crystallites are thinly dispersed in uniform amorphous matrix, you may also be able to use SAXS. You can estimate the mean particle size by the Guinier plot.
@Mark: the suggestion of Andrew is probably the easiest/fastest. There is a lot of stuff so you might have other possible issues to discuss
@Masatoshi: I wish the choice of the constant would be the major issue.. You can chose safely 0.9 and be sure that in any case this is not the main source of inaccuracy. Yes you can use it to compare samples in an homogeneous set.. but be careful cause different size distributions might give you the same Scherrer size!!!
After subtraction of background signal and instrumental broadening you can fit the XRD peak with for example pseudo-Voigt function. And that should give you two values of peak broadening related to lattice microstrains (Gauss component) as well as coherence lenght (grain size, Cauchy component) measured along scattering vector direction. After that you can use Scherrer equation (combined with the value obtained from Cauchy function), which will give you an average size of coherence lenght/grain size (of course along scattering vector direction).
I'm not pretty sure but using Scherrer equation has its limitations. As I remember correctly the maximum grain size, which can be calculated from this equation is about 150 nm, maybe 200 nm. If you expect larger grain size in your sample this may be not a good way. And talking about Scherrer constant - if, for example, you'll use the value of 0.94 rather then 0.91 the change in grain size will be only about 3%. Anyway, the value of this constant is related to grain shape and you should search in this direction.
Moreover, you can try to use Williamson-Hall method to overcome your issue. And have in mind that grain size distribution is mostly log-normal type.
Here are a very few of the topics you might find related to your question (and give some part of the answer as well) if you do a search. Hopefully you will find very interesting information, but you will also see sometimes the rather 'divergent' opinions of the different contributors :)