diff --git a/locales/en.yml b/locales/en.yml
index f9c326250acd8250dd9dbcaa32d225cdd5ec21b9..891fae3082c37e842659a4213512c4d7676ddea1 100644
--- a/locales/en.yml
+++ b/locales/en.yml
@@ -403,6 +403,10 @@ desktop/views/pages/user/user.friends.vue:
   loading: "Loading"
   no-users: "No users"
 
+desktop/views/pages/user/user.header.vue:
+  is-remote: "This user is not a user of Misskey, so the information is not accurate."
+  view-remote: "See accurate information"
+
 desktop/views/pages/user/user.home.vue:
   last-used-at: "Last used at"
 
@@ -585,6 +589,8 @@ mobile/views/pages/user.vue:
   overview: "Overview"
   timeline: "Timeline"
   media: "Media"
+  is-remote: "This user is not a user of Misskey, so the information is not accurate."
+  view-remote: "See accurate information"
 
 mobile/views/pages/user/home.vue:
   recent-notes: "Recent notes"
diff --git a/locales/ja.yml b/locales/ja.yml
index 40d2a6d2190201ee9468a2f726f84632eec290c7..1f70f4203d25708df0634dbed1153c8c51909113 100644
--- a/locales/ja.yml
+++ b/locales/ja.yml
@@ -403,6 +403,10 @@ desktop/views/pages/user/user.friends.vue:
   loading: "読み込み中"
   no-users: "よく話すユーザーはいません"
 
+desktop/views/pages/user/user.header.vue:
+  is-remote: "このユーザーはMisskeyのユーザーではないため情報が正確ではありません。"
+  view-remote: "正確な情報を見る"
+
 desktop/views/pages/user/user.home.vue:
   last-used-at: "最終アクセス"
 
@@ -585,6 +589,8 @@ mobile/views/pages/user.vue:
   overview: "概要"
   timeline: "タイムライン"
   media: "メディア"
+  is-remote: "このユーザーはMisskeyのユーザーではないため情報が正確ではありません。"
+  view-remote: "正確な情報を見る"
 
 mobile/views/pages/user/home.vue:
   recent-notes: "最近の投稿"
diff --git a/src/client/app/desktop/views/pages/user/user.header.vue b/src/client/app/desktop/views/pages/user/user.header.vue
index e026820b3971ad27dddf19d985a0112846db8b1c..3ec0b92fe4db84cc2664df3ca53a2b7113dc5fc6 100644
--- a/src/client/app/desktop/views/pages/user/user.header.vue
+++ b/src/client/app/desktop/views/pages/user/user.header.vue
@@ -1,5 +1,6 @@
 <template>
 <div class="header" :data-is-dark-background="user.bannerUrl != null">
+	<div class="is-remote" v-if="user.host != null"><p>%fa:exclamation-triangle% %i18n:@is-remote% <a :href="user.url || user.uri" target="_blank">%i18n:@view-remote%</a></p></div>
 	<div class="banner-container" :style="user.bannerUrl ? `background-image: url(${user.bannerUrl}?thumbnail&size=2048)` : ''">
 		<div class="banner" ref="banner" :style="user.bannerUrl ? `background-image: url(${user.bannerUrl}?thumbnail&size=2048)` : ''" @click="onBannerClick"></div>
 	</div>
@@ -26,14 +27,18 @@ import Vue from 'vue';
 export default Vue.extend({
 	props: ['user'],
 	mounted() {
-		window.addEventListener('load', this.onScroll);
-		window.addEventListener('scroll', this.onScroll);
-		window.addEventListener('resize', this.onScroll);
+		if (this.user.bannerUrl) {
+			window.addEventListener('load', this.onScroll);
+			window.addEventListener('scroll', this.onScroll);
+			window.addEventListener('resize', this.onScroll);
+		}
 	},
 	beforeDestroy() {
-		window.removeEventListener('load', this.onScroll);
-		window.removeEventListener('scroll', this.onScroll);
-		window.removeEventListener('resize', this.onScroll);
+		if (this.user.bannerUrl) {
+			window.removeEventListener('load', this.onScroll);
+			window.removeEventListener('scroll', this.onScroll);
+			window.removeEventListener('resize', this.onScroll);
+		}
 	},
 	methods: {
 		onScroll() {
@@ -68,9 +73,21 @@ export default Vue.extend({
 	$footer-height = 58px
 
 	overflow hidden
-	background #f7f7f7
+	background #bfccd0
 	box-shadow 0 1px 1px rgba(0, 0, 0, 0.075)
 
+	> .is-remote
+		padding 16px
+		color #573c08
+		background #fff0db
+
+		> p
+			margin 0 auto
+			max-width 1024px
+
+			> a
+				font-weight bold
+
 	&[data-is-dark-background]
 		> .banner-container
 			> .banner
@@ -130,7 +147,7 @@ export default Vue.extend({
 			left 0
 			width 100%
 			padding 0 0 8px 195px
-			color #656565
+			color #5e6367
 			font-family '游ゴシック', 'YuGothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'Meiryo', 'メイリオ', sans-serif
 
 			> .name
diff --git a/src/client/app/mobile/views/pages/user.vue b/src/client/app/mobile/views/pages/user.vue
index ea384308e9440f728d034ddeac0b31ecf02694f5..ee7aabb1fdce5bbc5a6e0a415cbe6ae639d8a5c4 100644
--- a/src/client/app/mobile/views/pages/user.vue
+++ b/src/client/app/mobile/views/pages/user.vue
@@ -2,6 +2,7 @@
 <mk-ui>
 	<span slot="header" v-if="!fetching">%fa:user% {{ user | userName }}</span>
 	<main v-if="!fetching">
+		<div class="is-remote" v-if="user.host != null"><p>%fa:exclamation-triangle% %i18n:@is-remote% <a :href="user.url || user.uri" target="_blank">%i18n:@view-remote%</a></p></div>
 		<header>
 			<div class="banner" :style="user.bannerUrl ? `background-image: url(${user.bannerUrl}?thumbnail&size=1024)` : ''"></div>
 			<div class="body">
@@ -109,6 +110,18 @@ export default Vue.extend({
 @import '~const.styl'
 
 main
+	> .is-remote
+		padding 16px
+		color #573c08
+		background #fff0db
+
+		> p
+			margin 0 auto
+			max-width 1024px
+
+			> a
+				font-weight bold
+
 	> header
 
 		> .banner
diff --git a/src/models/user.ts b/src/models/user.ts
index 1d23c21dbdc1c6cf64b1034f6a02dcdb7c41b2c4..5b1a2d357b288b027c67d466963139d29a04f399 100644
--- a/src/models/user.ts
+++ b/src/models/user.ts
@@ -88,6 +88,7 @@ export interface ILocalUser extends IUserBase {
 export interface IRemoteUser extends IUserBase {
 	inbox: string;
 	uri: string;
+	url?: string;
 	publicKey: {
 		id: string;
 		publicKeyPem: string;
diff --git a/src/remote/activitypub/objects/person.ts b/src/remote/activitypub/objects/person.ts
index 6c060f879ce006477e7ab7fe2ada2952058379e8..b0539fd73b4e0cb73d706778b6bd27eeab4af410 100644
--- a/src/remote/activitypub/objects/person.ts
+++ b/src/remote/activitypub/objects/person.ts
@@ -96,7 +96,8 @@ export async function createPerson(value: any, resolver?: Resolver): Promise<IUs
 			publicKeyPem: person.publicKey.publicKeyPem
 		},
 		inbox: person.inbox,
-		uri: person.id
+		uri: person.id,
+		url: person.url
 	}) as IRemoteUser;
 
 	//#region アイコンとヘッダー画像をフェッチ