diff --git a/packages/icon/en-US.md b/packages/icon/en-US.md
index 1a640f1f1..c3be87122 100644
--- a/packages/icon/en-US.md
+++ b/packages/icon/en-US.md
@@ -52,6 +52,7 @@ import 'vant/lib/vant-css/icon-local.css';
 | info | Info message | `String | Number` | `''` |
 | color | Icon color | `String` | `inherit` |
 | size | Icon size | `String` | `inherit` |
+| class-prefix | ClassName prefix | `String` | `van-icon` |
 
 
 ### Event
diff --git a/packages/icon/index.vue b/packages/icon/index.vue
index 77aaea759..10efee8a0 100644
--- a/packages/icon/index.vue
+++ b/packages/icon/index.vue
@@ -1,5 +1,5 @@
 <template>
-  <i :class="[b(), `van-icon-${name}`]" :style="style" v-on="$listeners">
+  <i :class="[classPrefix, `${classPrefix}-${name}`]" :style="style" v-on="$listeners">
     <slot />
     <div v-if="isDef(info)" :class="b('info')">{{ info }}</div>
   </i>
@@ -15,7 +15,11 @@ export default create({
     name: String,
     info: [String, Number],
     color: String,
-    size: String
+    size: String,
+    classPrefix: {
+      type: String,
+      default: 'van-icon'
+    }
   },
 
   computed: {
diff --git a/packages/icon/zh-CN.md b/packages/icon/zh-CN.md
index 83232311f..799d82e49 100644
--- a/packages/icon/zh-CN.md
+++ b/packages/icon/zh-CN.md
@@ -56,6 +56,7 @@ import 'vant/lib/vant-css/icon-local.css';
 | info | 图标右上角文字提示 | `String | Number` | - |
 | color | 图标颜色 | `String` | `inherit` |
 | size | 图标大小,如 `20px`,`2em` | `String` | `inherit` |
+| class-prefix | 类名前缀 | `String` | `van-icon` |
 
 ### Event