A fully three-dimensional (3D) viscous inverse method for blade design is presented. Built on a time-marching finite-volume direct Navier-Stokes solver, the inverse algorithm employs two extra components to make the solver work in the design mode: an inverse boundary condition on the blade surfaces combined with a camber generation scheme that updates the blade geometry. The inverse blade boundary condition satisfies the prescribed pressure loading by allowing the flow to cross the blade surfaces during the iteration process, and the camber generation scheme subsequently enforces the flow-tangency condition by adjusting the camber surface so that the blade surfaces are properly aligned with the velocity field. To preserve the smoothness and mechanical integrity of the blade, the camber surface is modelled with a series of Bezier curves in the blade span direction. Using the calculated camber surface, the complete blade geometry is then generated from a prescribed blade thickness distribution. Through these techniques, the inverse method has turned into a robust and effective tool to handle full 3D and viscous computation with the end-wall effects, in particular, tip-clearance flow. Numerical experiments show that this inverse algorithm is robust, accurate and efficient.