The paper aims at dimensioning a mechanism in order to make it robust, and synthesizing its dimensional tolerances. The design of a mechanism is supposed to be robust when its performance is as little as sensitive as possible to variations. First, a distinction is made between three sets to formulate a robust design problem; (i) the set of Design Variables (DV) whose nominal values can be selected between a range of upper and lower bounds, they are controllable; (ii) the set of Design Parameters (DP) that cannot be adjusted by the designer, they are uncontrollable; (iii) the set of performance functions. DV are however under uncontrollable variations although their nominal value can be adjusted. Moreover, two methods are described to solve robust design problems. The first method is explicit and solves problems that aim at minimizing variations in performance. The second method, an optimization problem, aims at optimizing the performance and minimizing its variations, but only when the ranges of variations in DV and DP are known. Besides, we define and compare some robustness indices. From the explicit method, we develop a new tolerance synthesis method. Finally, three examples are included to illustrate these methods: a damper, a two-dof and a three-dof serial positioning manipulator.