diff --git a/packages/vant/src/watermark/README.md b/packages/vant/src/watermark/README.md
new file mode 100644
index 000000000..b7c69b994
--- /dev/null
+++ b/packages/vant/src/watermark/README.md
@@ -0,0 +1,119 @@
+# Watermark
+
+### Intro
+
+Add watermark for page.
+
+### Install
+
+Register component globally via `app.use`, refer to [Component Registration](#/en-US/advanced-usage#zu-jian-zhu-ce) for more registration ways.
+
+```js
+import { createApp } from 'vue';
+import { Watermark } from 'vant';
+
+const app = createApp();
+app.use(Watermark);
+```
+
+## Usage
+
+### Basic Usage
+
+```html
+
+
+
+
+
+```
+
+### Custom Gap
+
+Use `gapX` `gapY` attributes to control the gap between two watermark slice.
+
+```html
+
+```
+
+### Custom Opacity
+
+Use `opacity` attribute to control the entirety opacity.
+
+```html
+
+```
+
+### Custom Rotate
+
+Use `rotate` attribute to control the rotate of watermark. Default value is `-22`.
+
+```html
+
+```
+
+### Display Range
+
+Use the `fullPage` attribute to control the display range of the watermark.
+
+```html
+
+
+```
+
+### HTML Watermark
+
+Use the `default slot` to pass HTML directly. Inline styles are supported, and self-closing tags are not supported.
+
+```html
+
+
+
Vant watermark
+
+
+```
+
+## API
+
+### Props
+
+| Attribute | Description | Type | Default |
+| --- | --- | --- | --- |
+| width | Watermark width | _number_ | 100 |
+| height | Watermark height | _number_ | 100 |
+| zIndex | Watermark's z-index | _number_ | 100 |
+| content | Text watermark content | _string_ | - |
+| image | Image watermark content. If `content` and `image` are passed at the same time, use the `image` watermark first | _string_ | - |
+| fullPage | Whether to display the watermark in full screen | _boolean_ | true |
+| gapX | Horizontal spacing between watermarks | _number_ | 0 |
+| gapY | Vertical spacing between watermarks | _number_ | 0 |
+| fontColor | Color of text watermark | _string_ | #dcdee0 |
+| opacity | opacity of watermark | _number_ | 1 |
+
+### Slots
+
+| Attribute | Description |
+| --- | --- |
+| default | Content of HTML watermark. Inline styles are supported, and self-closing tags are not supported. This slot is invalid if `content` or `image` is passed |
+
+### Types
+
+The component exports the following type definitions:
+
+```ts
+import type { WaterProps } from 'vant';
+```
diff --git a/packages/vant/src/watermark/README.zh-CN.md b/packages/vant/src/watermark/README.zh-CN.md
new file mode 100644
index 000000000..db7725199
--- /dev/null
+++ b/packages/vant/src/watermark/README.zh-CN.md
@@ -0,0 +1,119 @@
+# Watermark 水印
+
+### 介绍
+
+页面上添加特定的文字或图案,可用于防止信息盗用
+
+### 引入
+
+通过以下方式来全局注册组件,更多注册方式请参考[组件注册](#/zh-CN/advanced-usage#zu-jian-zhu-ce)。
+
+```js
+import { createApp } from 'vue';
+import { Watermark } from 'vant';
+
+const app = createApp();
+app.use(Watermark);
+```
+
+## 代码演示
+
+### 基础用法
+
+```html
+
+
+
+
+
+```
+
+### 自定义间隔
+
+通过 `gapX` `gapY` 属性来控制重复水印之间的间隔。
+
+```html
+
+```
+
+### 自定义透明度
+
+通过 `opacity` 属性来控制水印的整体透明度。
+
+```html
+
+```
+
+### 自定义倾斜角度
+
+通过 `rotate` 属性来控制水印的倾斜角度,默认值为`-22`。
+
+```html
+
+```
+
+### 显示范围
+
+通过 `fullPage` 属性来控制水印的显示范围。
+
+```html
+
+
+```
+
+### HTML 水印
+
+通过默认插槽可以直接传入 HTML,HTML 样式仅支持行内样式同时不支持传入自闭合标签。
+
+```html
+
+