Nanopores in two-dimensional (2D) materials, including graphene, can be used for a variety of applications, such as gas separations, water desalination, and DNA sequencing. So far, however, all plausible isomeric shapes of graphene nanopores have not been enumerated. Instead, a probabilistic approach has been followed to predict nanopore shapes in 2D materials, due to the exponential increase in the number of nanopores as the size of the vacancy increases. For example, there are 12 possible isomers when N = 6 atoms are removed, a number that theoretically increases to 11.7 million when N = 20 atoms are removed from the graphene lattice. In this regard, the development of a smaller, exhaustive data set of stable nanopore shapes can help future experimental and theoretical studies focused on using nanoporous 2D materials in various applications. In this work, we use the theory of 2D triangular "lattice animals" to create a library of all stable graphene nanopore shapes based on a modification of a well-known algorithm in the mathematical combinatorics of polyforms known as Redelmeier's algorithm. We show that there exists a correspondence between graphene nanopores and triangular polyforms (called polyiamonds) as well as hexagonal polyforms (called polyhexes). We develop the concept of a polyiamond ID to identify unique nanopore isomers. We also use concepts from polyiamond and polyhex geometries to eliminate unstable nanopores containing dangling atoms, bonds, and moieties. We verify using density functional theory calculations that such pores are indeed unstable. The exclusion of these unstable nanopores leads to a remarkable reduction in the possible nanopores from 11.7 million for N = 20 to only 0.184 million nanopores, thereby indicating that the number of stable nanopores is almost 2 orders of magnitude lower and is much more tractable. Not only that, by extracting the polyhex outline, our algorithm allows searching for nanopores with dimensions and shape factors in a specified range, thus aiding the design of the geometrical properties of nanopores for specific applications. We also provide the coordinate files of the stable nanopores as a library to facilitate future theoretical studies of these nanopores.