A k-spanner of a graph G is a sparse subgraph H whose shortest path distances match those of G up to a multiplicative error k. In this paper we study spanners that are resistant to faults. A subgraph H ⊆ G is an f vertex fault tolerant (VFT) k-spanner if H \ F is a k-spanner of G \ F for any small set F of f vertices that might "fail." One of the main questions in the area is: what is the minimum size of an f fault tolerant k-spanner that holds for all n node graphs (as a function of f , k and n)? In this paper, we settle the question of the optimal size of a VFT spanner, in the setting where the stretch factor k is fixed. Specifically, we prove that every (undirected, possibly weighted) n-node graph G has a (2k − 1)-spanner resilient to f vertex faults with O k (f 1−1/k n 1+1/k ) edges, and this is fully optimal (unless the famous Erdös Girth Conjecture is false). Our lower bound even generalizes to imply that no data structure capable of approximating dist G\F (s, t) similarly can beat the space usage of our spanner in the worst case. To the best of our knowledge, this is the first instance in fault tolerant network design in which introducing fault tolerance to the structure increases the size of the (non-FT) structure by a sublinear factor in f . Another advantage of this result is that our spanners are constructed by a very natural and simple greedy algorithm, which is the obvious extension of the standard * Supported in part by NSF awards 1464239 and 1535887. Supported in part by NSF grants CCF-1417238, CCF-1528078 and CCF-1514339, and BSF grant BSF:2012338. greedy algorithm used to build spanners in the non-faulty setting.We also consider the edge fault tolerant (EFT) model, defined analogously with edge failures rather than vertex failures. We show that the same spanner upper bound applies in this setting. Our data structure lower bound extends to the case k = 2 (and hence we close the EFT problem for 3-approximations), but it falls to Ω(f 1/2−1/(2k) · n 1+1/k ) for k ≥ 3. We leave it as an open problem to close this gap.