In this paper, we study the design of fault tolerant networks for arrays and meshes by adding redundant nodes and edges. For a target graph G (linear array or mesh in this paper), a graph G is called a k-fault-tolerant graph of G if when we remove any k nodes from G , it still contains a subgraph isomorphic to G. The major quality measures for a fault-tolerant graph are the number of spare nodes it uses and the maximum degree it has. The degree is particularly important in practice as it poses constraints on the scalability of the system. In this paper, we aim at designing fault-tolerant graphs with both small degree and small number of spare nodes. The graphs we obtain have degree O(1) for arrays and O(log3 k) for meshes. The number of spare nodes used are O(k log2 k) and O(k2 / log k), respectively. Compared to the previous results, the number of spare nodes used in our construction has one fewer linear factor in k. 1