Covariate balancing propensity score (CBPS) is a method for estimating the propensity score that optimizes covariate balance. Unlike traditional propensity score methods, CBPS models treatment assignment while optimizing covariate balance, leveraging the dual characteristics of the propensity score as a covariate balancing score and the conditional probability of treatment assignment. The estimation of CBPS is conducted within the generalized method-of-moments (GMM) or empirical likelihood (EL) framework. CBPS significantly improves the performance of propensity score matching and weighting methods, as demonstrated in simulations and empirical studies. It can be extended to various settings, including the estimation of the generalized propensity score for non-binary treatments and the generalization of experimental estimates to a target population. CBPS inherits theoretical properties from GMM and EL literature and is implemented via an open-source R package. The method balances covariates by using inverse propensity score weighting and incorporates both score and covariate balancing conditions. CBPS is robust to model misspecification and improves the estimation of the propensity score, enhancing the performance of existing propensity score methods. Simulation studies show that CBPS outperforms traditional logistic regression in terms of bias and root-mean-squared error, particularly when both the propensity score and outcome models are misspecified. CBPS also performs well in empirical studies, such as LaLonde's evaluation of job training programs, where it improves the performance of propensity score matching methods. The method is implemented via the CBPS R package and is applicable to a wide range of causal inference settings.Covariate balancing propensity score (CBPS) is a method for estimating the propensity score that optimizes covariate balance. Unlike traditional propensity score methods, CBPS models treatment assignment while optimizing covariate balance, leveraging the dual characteristics of the propensity score as a covariate balancing score and the conditional probability of treatment assignment. The estimation of CBPS is conducted within the generalized method-of-moments (GMM) or empirical likelihood (EL) framework. CBPS significantly improves the performance of propensity score matching and weighting methods, as demonstrated in simulations and empirical studies. It can be extended to various settings, including the estimation of the generalized propensity score for non-binary treatments and the generalization of experimental estimates to a target population. CBPS inherits theoretical properties from GMM and EL literature and is implemented via an open-source R package. The method balances covariates by using inverse propensity score weighting and incorporates both score and covariate balancing conditions. CBPS is robust to model misspecification and improves the estimation of the propensity score, enhancing the performance of existing propensity score methods. Simulation studies show that CBPS outperforms traditional logistic regression in terms of bias and root-mean-squared error, particularly when both the propensity score and outcome models are misspecified. CBPS also performs well in empirical studies, such as LaLonde's evaluation of job training programs, where it improves the performance of propensity score matching methods. The method is implemented via the CBPS R package and is applicable to a wide range of causal inference settings.