diff --git a/src/components/platformSidebar.tsx b/src/components/platformSidebar.tsx
index a18600d84a25d..2dd0ae5e1058d 100644
--- a/src/components/platformSidebar.tsx
+++ b/src/components/platformSidebar.tsx
@@ -79,6 +79,7 @@ export const PlatformSidebar = ({
`/${pathRoot}/enriching-events/`,
`/${pathRoot}/data-management/`,
`/${pathRoot}/performance/`,
+ `/${pathRoot}/session-replay/`,
`/${pathRoot}/profiling/`,
`/${pathRoot}/guides/`,
]}
@@ -90,6 +91,15 @@ export const PlatformSidebar = ({
suppressMissing
tree={tree}
/>
+
+
+
+
+
+```
diff --git a/src/platform-includes/session-replay/setup-session-replay/javascript.mdx b/src/platform-includes/session-replay/setup-session-replay/javascript.mdx
new file mode 100644
index 0000000000000..97aec25ad8bad
--- /dev/null
+++ b/src/platform-includes/session-replay/setup-session-replay/javascript.mdx
@@ -0,0 +1,52 @@
+To set up the integration, add the following to your Sentry initialization. Several options are supported and passable via the integration constructor. See the [configuration sections](/platforms/javascript/session-replay/custom-instrumentation/) for more details.
+
+```javascript {tabTitle: ESM}
+import * as Sentry from "@sentry/browser";
+import { Replay } from "@sentry/replay";
+
+Sentry.init({
+ dsn: "___PUBLIC_DSN___",
+
+ // This sets the sample rate to be 10%. You may want this to be 100% while
+ // in development and sample at a lower rate in production
+ replaysSessionSampleRate: 0.1,
+
+ // If the entire session is not sampled, use the below sample rate to sample
+ // sessions when an error occurs.
+ replaysOnErrorSampleRate: 1.0,
+
+ integrations: [
+ new Replay({
+ // Additional SDK configuration goes in here, for example:
+ maskAllText: true,
+ blockAllMedia: true
+ // See below for all available options
+ })
+ ],
+ // ...
+});
+```
+
+```javascript {tabTitle: CDN}
+Sentry.init({
+ dsn: "___PUBLIC_DSN___",
+
+ // This sets the sample rate to be 10%. You may want this to be 100% while
+ // in development and sample at a lower rate in production
+ replaysSessionSampleRate: 0.1,
+
+ // If the entire session is not sampled, use the below sample rate to sample
+ // sessions when an error occurs.
+ replaysOnErrorSampleRate: 1.0,
+
+ integrations: [
+ new Sentry.Integrations.Replay({
+ // Additional SDK configuration goes in here, for example:
+ maskAllText: true,
+ blockAllMedia: true
+ // See below for all available options
+ })
+ ],
+ // ...
+});
+```
diff --git a/src/platforms/javascript/common/session-replay/configuration.mdx b/src/platforms/javascript/common/session-replay/configuration.mdx
new file mode 100644
index 0000000000000..cdc37cb86c3e7
--- /dev/null
+++ b/src/platforms/javascript/common/session-replay/configuration.mdx
@@ -0,0 +1,84 @@
+---
+title: Configuration
+sidebar_order: 410
+supported:
+ - javascript
+ - javascript.angular
+ - javascript.ember
+ - javascript.gatsby
+ - javascript.nextjs
+ - javascript.react
+ - javascript.remix
+ - javascript.svelte
+ - javascript.vue
+notSupported:
+ - javascript.capacitor
+ - javascript.cordova
+ - javascript.electron
+ - javascript.wasm
+description: "Learn about the general Session Replay configuration fields."
+---
+
+## General Integration Configuration
+
+The following options can be configured on the root level of your browser-based Sentry SDK, in `init({})`:
+
+| key | type | default | description |
+| ------------------------ | ------- | ------- | --- |
+| replaysSessionSampleRate | number | `0.1` | The sample rate for replays that begin recording immediately and last the entirety of the user's session. 1.0 will collect all replays, 0 will collect no replays. |
+| replaysOnErrorSampleRate | number | `1.0` | The sample rate for replays that are recorded when an error happens. This type of replay will record up to a minute of events prior to the error and continue recording until the session ends. 1.0 capturing all sessions with an error, and 0 capturing none. |
+
+The following options can be configured as options to the integration, in `new Replay({})`:
+
+| key | type | default | description |
+| ------------------- | ------- | ------- | --- |
+| stickySession | boolean | `true` | Keep track of the user across page loads. Note a single user using multiple tabs will result in multiple sessions. Closing a tab will result in the session being closed as well. |
+
+## Optimization Configuration
+
+The following options can be configured as options to the integration, in `new Replay({})`:
+
+| key | type | default | description |
+| ---------------- | ----------------------- | ------- | --- |
+| collectFonts | boolean | `false` | Should collect fonts used on the website |
+| inlineImages | boolean | `false` | Should inline `` content |
+| inlineStylesheet | boolean | `true` | Should inline stylesheets used in the recording |
+| recordCanvas | boolean | `false` | Should record `