A 12ga stock will not fit on a newer 20ga 870 unless you modify the inside of the stock where it meets the receiver. If your handy it can be made to fit with a dremel tool, it's not pretty but it works. I have done it and it takes some trial and error to get it to fit correctly. In the end there will be a slight overhang as the stock is slightly wider than the receiver. If you take your time it can look good in the end. If you have an 870 stock give it a try.