Structural vector autoregressions (SVARs) are widely used for policy analysis and to provide stylized facts for dynamic general equilibrium models. Yet there have been no workable rank conditions to ascertain whether an SVAR is globally identified. When identifying restrictions such as long-run restrictions are imposed on impulse responses, there have been no efficient algorithms for small-sample estimation and inference. To fill these important gaps in the literature, this paper makes four contributions. First, we establish general rank conditions for global identification of both overidentified and exactly identified models. Second, we show that these conditions can be checked as a simple matrix-filling exercise and that they apply to a wide class of identifying restrictions, including linear and certain nonlinear restrictions. Third, we establish a very simple rank condition for exactly identified models that amounts to a straightforward counting exercise. Fourth, we develop a number of efficient algorithms for small-sample estimation and inference.