Cost to Stain a Deck. The average cost to stain a deck is between $540 and $1,050, depending on the size of your deck and what type you use. Most stains come in 1-gallon containers and provide around 200 to 300 square feet of coverage depending on the thickness of the stain. Materials can cost between $20 and $250, depending on stain and size of deck. 2  You will have to strip the deck beforehand, which means the whole process will take several days. 3  You will need to remove all accessories ahead of time and cover any plants with plastic sheeting.