diff --git a/.changeset/modern-icons-clean.md b/.changeset/modern-icons-clean.md
new file mode 100644
index 00000000000..ac697326b5e
--- /dev/null
+++ b/.changeset/modern-icons-clean.md
@@ -0,0 +1,5 @@
+---
+'@primer/react': minor
+---
+
+Migrate `Select` component to css modules
diff --git a/packages/react/src/FormControl/FormControl.tsx b/packages/react/src/FormControl/FormControl.tsx
index a6ccd15c858..f2eb061b594 100644
--- a/packages/react/src/FormControl/FormControl.tsx
+++ b/packages/react/src/FormControl/FormControl.tsx
@@ -3,7 +3,7 @@ import Autocomplete from '../Autocomplete'
import Box from '../Box'
import Checkbox from '../Checkbox'
import Radio from '../Radio'
-import Select from '../Select'
+import Select from '../Select/Select'
import {SelectPanel} from '../SelectPanel'
import TextInput from '../TextInput'
import TextInputWithTokens from '../TextInputWithTokens'
diff --git a/packages/react/src/Select/Select.dev.stories.tsx b/packages/react/src/Select/Select.dev.stories.tsx
new file mode 100644
index 00000000000..29faba3b0bc
--- /dev/null
+++ b/packages/react/src/Select/Select.dev.stories.tsx
@@ -0,0 +1,25 @@
+import React from 'react'
+import type {Meta} from '@storybook/react'
+import {FormControl, Box} from '..'
+import Select from './Select'
+
+export default {
+ title: 'Components/Select/Dev',
+ component: Select,
+} as Meta
+
+export const Default = () => (
+
+
+ Default label
+
+
+
+)
diff --git a/packages/react/src/Select/Select.features.stories.tsx b/packages/react/src/Select/Select.features.stories.tsx
index 1279d3d0dd6..7a1fff357bb 100644
--- a/packages/react/src/Select/Select.features.stories.tsx
+++ b/packages/react/src/Select/Select.features.stories.tsx
@@ -1,5 +1,6 @@
import React from 'react'
-import {Select, FormControl, Box, Heading} from '..'
+import {FormControl, Box, Heading} from '..'
+import Select from './Select'
export default {
title: 'Components/Select/Features',
diff --git a/packages/react/src/Select/Select.figma.tsx b/packages/react/src/Select/Select.figma.tsx
index 7c75ad3f8e6..a4cbbef3fd9 100644
--- a/packages/react/src/Select/Select.figma.tsx
+++ b/packages/react/src/Select/Select.figma.tsx
@@ -1,5 +1,5 @@
import React from 'react'
-import {Select} from '../../src'
+import Select from '.'
import FormControl from '../FormControl'
import figma from '@figma/code-connect'
diff --git a/packages/react/src/Select/Select.module.css b/packages/react/src/Select/Select.module.css
new file mode 100644
index 00000000000..f3175cd0967
--- /dev/null
+++ b/packages/react/src/Select/Select.module.css
@@ -0,0 +1,67 @@
+.Select {
+ width: 100%;
+ /* stylelint-disable-next-line primer/spacing */
+ margin-top: 1px;
+ /* stylelint-disable-next-line primer/spacing */
+ margin-bottom: 1px;
+ /* stylelint-disable-next-line primer/spacing */
+ margin-left: 1px;
+ font-size: inherit;
+ color: currentColor;
+
+ /* Firefox hacks:
+ * 1. Makes Firefox's native dropdown menu's background match the theme.
+ * background-color should be 'transparent', but Firefox uses the background-color on
+ *