# ES Module Stripe.js SDK
Set up the ES Module Stripe.js client-side SDK in your web application.
To see how ES Module Stripe.js works or to help develop it, check out the [project on GitHub](https://github.com/stripe/stripe-js).
This introductory guide shows you how to install the [ES Module Stripe.js](https://github.com/stripe/stripe-js) client-side SDK with a script tag or package manager. The SDK wraps the global `Stripe` function provided by the Stripe.js script as an ES module. It allows you to use [Elements](https://docs.stripe.com/payments/elements.md), our prebuilt UI components, to create a payment form that lets you securely collect a customer’s card details without handling the sensitive data.
## Before you begin
Enable the payment methods you want to support on the [payment methods settings](https://dashboard.stripe.com/settings/payment_methods) page.
## Manually load the Stripe.js script
### Installation
To install by script, add the [Stripe.js ES Module](https://github.com/stripe/stripe-js) as a script to the `
` element of your **HTML**. This allows any newly created [Stripe objects](https://docs.stripe.com/js.md#stripe-function) to be globally accessible in your code.
```html
Checkout
```
### Stripe.js constructor
Next, set the [API publishable key](https://dashboard.stripe.com/test/apikeys) to allow Stripe to [tokenize](https://docs.stripe.com/api/tokens.md) customer information and collect sensitive payment details. For example:
```javascript
var stripe = Stripe('<>');
```
## Load Stripe.js as an ES Module
### Installation
To install by package manager, install the [Stripe.js ES Module](https://github.com/stripe/stripe-js) from the [npm public registry](https://www.npmjs.com/).
```javascript
npm install @stripe/stripe-js
```
### Stripe.js constructor
Next, import the module into a **JavaScript** file. The following function returns a `Promise` that resolves with a newly created [Stripe object](https://docs.stripe.com/js.md#stripe-function) after Stripe.js loads.
```javascript
import {loadStripe} from '@stripe/stripe-js';
const stripe = await loadStripe('<>');
```
## See also
This wraps up the introductory guide to setting up the ES Module Stripe.js SDK. See the links below to get started with your integration.
- [Accept a payment with a payment element on GitHub](https://github.com/stripe-samples/accept-a-payment/tree/main/payment-element)
- [Accept a payment with a payment element in Docs](https://docs.stripe.com/payments/accept-a-payment.md?ui=elements&client=html)
- [Custom payment flow builder](https://docs.stripe.com/payments/quickstart-checkout-sessions.md)
- [Stripe.js reference](https://docs.stripe.com/js.md)