diff --git src/bp-members/bp-members-functions.php src/bp-members/bp-members-functions.php
index ab02eae92..165bc97c3 100644
--- src/bp-members/bp-members-functions.php
+++ src/bp-members/bp-members-functions.php
@@ -2718,6 +2718,7 @@ function bp_get_member_type_tax_labels() {
 			// Specific to BuddyPress.
 			'bp_type_id_label'           => _x( 'Member Type ID', 'BP Member type ID label', 'buddypress' ),
 			'bp_type_id_description'     => _x( 'Enter a lower-case string without spaces or special characters (used internally to identify the member type).', 'BP Member type ID description', 'buddypress' ),
+			'bp_type_show_in_list'       => _x( 'Show on Member', 'BP Member type show in list', 'buddypress' ),
 		)
 	);
 }
@@ -2762,15 +2763,23 @@ function bp_get_member_type_tax_args() {
 function bp_get_member_type_metadata_schema( $schema = array(), $taxonomy = '' ) {
 	if ( bp_get_member_type_tax_name() === $taxonomy ) {
 
-		// Directory
+		// Directory.
 		if ( isset( $schema['bp_type_has_directory']['description'] ) ) {
 			$schema['bp_type_has_directory']['description'] = __( 'Make a list of members matching this type available on the members directory.', 'buddypress' );
 		}
 
-		// Slug
+		// Slug.
 		if ( isset( $schema['bp_type_directory_slug']['description'] ) ) {
 			$schema['bp_type_directory_slug']['description'] = __( 'Enter if you want the type slug to be different from its ID.', 'buddypress' );
 		}
+
+		// List.
+		$schema['bp_type_show_in_list'] = array(
+			'description'       => __( 'Show where member types may be listed, like in the member header.', 'buddypress' ),
+			'type'              => 'boolean',
+			'single'            => true,
+			'sanitize_callback' => 'absint',
+		);
 	}
 
 	return $schema;
@@ -2810,6 +2819,10 @@ add_action( 'bp_register_type_metadata', 'bp_register_member_type_metadata' );
  *                                      Pass `true` to use the `$member_type` string as the type's slug.
  *                                      Pass a string to customize the slug. Pass `false` to disable.
  *                                      Default: true.
+ *     @type bool        $show_in_list  Whether this member type should be shown in lists rendered by
+ *                                      bp_member_type_list(). Default: false.
+ *     @type bool        $code          Whether this member type is registered using code. Default: true.
+ *     @type int         $db_id         The member type term ID. Default: 0.
  * }
  * @return object|WP_Error Member type object on success, WP_Error object on failure.
  */
@@ -2823,6 +2836,7 @@ function bp_register_member_type( $member_type, $args = array() ) {
 	$r = bp_parse_args( $args, array(
 		'labels'        => array(),
 		'has_directory' => true,
+		'show_in_list'  => false,
 		'code'          => true,
 		'db_id'         => 0,
 	), 'register_member_type' );
@@ -2872,6 +2886,9 @@ function bp_register_member_type( $member_type, $args = array() ) {
 		$r['has_directory']  = false;
 	}
 
+	// Show the list of member types on front-end (member header, for now).
+	$r['show_in_list'] = (bool) $r['show_in_list'];
+
 	$bp->members->types[ $member_type ] = $type = (object) $r;
 
 	/**
diff --git src/bp-members/bp-members-template.php src/bp-members/bp-members-template.php
index e202ea11b..dad6b6110 100644
--- src/bp-members/bp-members-template.php
+++ src/bp-members/bp-members-template.php
@@ -1689,7 +1689,7 @@ function bp_last_activity( $user_id = 0 ) {
 		if ( empty( $user_id ) )
 			$user_id = bp_displayed_user_id();
 
-		$last_activity = bp_core_get_last_activity( bp_get_user_last_activity( $user_id ), __('active %s', 'buddypress') );
+		$last_activity = bp_core_get_last_activity( bp_get_user_last_activity( $user_id ), __( 'Active %s', 'buddypress' ) );
 
 		/**
 		 * Filters the 'active [x days ago]' string for a user.
@@ -2017,6 +2017,162 @@ function bp_current_member_type_message() {
 		return apply_filters( 'bp_get_current_member_type_message', $message );
 	}
 
+/**
+ * Output member type directory link.
+ *
+ * @since 7.0.0
+ *
+ * @param string $member_type Unique member type identifier as used in bp_register_member_type().
+ */
+function bp_member_type_directory_link( $member_type = '' ) {
+	echo bp_get_member_type_directory_link( $member_type );
+}
+	/**
+	 * Return member type directory link.
+	 *
+	 * @since 7.0.0
+	 *
+	 * @param string $member_type Unique member type identifier as used in bp_register_member_type().
+	 * @return string
+	 */
+	function bp_get_member_type_directory_link( $member_type = '' ) {
+		if ( empty( $member_type ) ) {
+			return '';
+		}
+
+		$member_type_object = bp_get_member_type_object( $member_type );
+
+		if ( ! isset( $member_type_object->labels['name'] ) ) {
+			return '';
+		}
+
+		return sprintf(
+			'<a href="%1$s">%2$s</a>',
+			esc_url( bp_get_member_type_directory_permalink( $member_type ) ),
+			esc_html( $member_type_object->labels['name'] )
+		);
+	}
+
+/**
+ * Output a comma-delimited list of member types.
+ *
+ * @since 7.0.0
+ * @see   bp_get_member_type_list() For additional information on default arguments.
+ *
+ * @param int   $user_id User ID.
+ * @param array $r       Optional. Member type list arguments. Default empty array.
+ */
+function bp_member_type_list( $user_id = 0, $r = array() ) {
+	echo bp_get_member_type_list( $user_id, $r );
+}
+	/**
+	 * Return a comma-delimited list of member types.
+	 *
+	 * @since 7.0.0
+	 *
+	 * @param int $user_id User ID. Defaults to displayed user ID if on a member page.
+	 * @param array|string $r {
+	 *     Array of parameters. All items are optional.
+	 *     @type string $parent_element     Element to wrap around the list. Defaults to 'p'.
+	 *     @type array  $parent_attr        Element attributes for parent element. Defaults to
+	 *                                      array( 'class' => 'bp-member-type-list' ).
+	 *     @type string $label              Label to add before the list. Defaults to 'Member Types:'.
+	 *     @type string $label_element      Element to wrap around the label. Defaults to 'strong'.
+	 *     @type array  $label_attr         Element attributes for label element. Defaults to array().
+	 *     @type bool   $show_all           Whether to show all registered group types. Defaults to 'false'. If
+	 *                                      'false', only shows member types with the 'show_in_list' parameter set to
+	 *                                      true. See bp_register_member_type() for more info.
+	 *     @type string $list_element       Element to wrap around the comma separated list of membet types. Defaults to ''.
+	 *     @type string $list_element_attr  Element attributes for list element. Defaults to array().
+	 * }
+	 * @return string
+	 */
+	function bp_get_member_type_list( $user_id = 0, $r = array() ) {
+		if ( empty( $user_id ) ) {
+			$user_id = bp_displayed_user_id();
+		}
+
+		$r = bp_parse_args(
+			$r,
+			array(
+				'parent_element'    => 'p',
+				'parent_attr'       => array(
+					'class' => 'bp-member-type-list',
+				),
+				'label'             => __( 'Member Types:', 'buddypress' ),
+				'label_element'     => 'strong',
+				'label_attr'        => array(),
+				'show_all'          => false,
+				'list_element'      => '',
+				'list_element_attr' => array(),
+			),
+			'member_type_list'
+		);
+
+		$retval = '';
+		$types  = bp_get_member_type( $user_id, false );
+
+		if ( $types ) {
+			// Make sure we can show the type in the list.
+			if ( false === $r['show_all'] ) {
+				$types = array_intersect( bp_get_member_types( array( 'show_in_list' => true ) ), $types );
+				if ( empty( $types ) ) {
+					return $retval;
+				}
+			}
+
+			$before = $after = $label = '';
+
+			// Render parent element.
+			if ( ! empty( $r['parent_element'] ) ) {
+				$parent_elem = new BP_Core_HTML_Element( array(
+					'element' => $r['parent_element'],
+					'attr'    => $r['parent_attr']
+				) );
+
+				// Set before and after.
+				$before = $parent_elem->get( 'open_tag' );
+				$after  = $parent_elem->get( 'close_tag' );
+			}
+
+			// Render label element.
+			if ( ! empty( $r['label_element'] ) ) {
+				$label = new BP_Core_HTML_Element( array(
+					'element'    => $r['label_element'],
+					'attr'       => $r['label_attr'],
+					'inner_html' => esc_html( $r['label'] )
+				) );
+				$label = $label->contents() . ' ';
+
+			// No element, just the label.
+			} else {
+				$label = esc_html( $r['label'] );
+			}
+
+			// The list of types.
+			$list = implode( ', ', array_map( 'bp_get_member_type_directory_link', $types ) );
+
+			// Render the list of types element.
+			if ( ! empty( $r['list_element'] ) ) {
+				$list_element = new BP_Core_HTML_Element( array(
+					'element'    => $r['list_element'],
+					'attr'       => $r['list_element_attr'],
+					'inner_html' => $list,
+				) );
+
+				$list = $list_element->contents();
+			}
+
+			// Comma-delimit each type into the group type directory link.
+			$label .= $list;
+
+			// Retval time!
+			$retval = $before . $label . $after;
+		}
+
+		return $retval;
+	}
+
 /** Signup Form ***************************************************************/
 
 /**
diff --git src/bp-templates/bp-nouveau/buddypress/members/single/cover-image-header.php src/bp-templates/bp-nouveau/buddypress/members/single/cover-image-header.php
index 5315091c2..763cdeba8 100644
--- src/bp-templates/bp-nouveau/buddypress/members/single/cover-image-header.php
+++ src/bp-templates/bp-nouveau/buddypress/members/single/cover-image-header.php
@@ -33,7 +33,7 @@
 					'container_classes' => array( 'member-header-actions' ),
 				)
 			);
-?>
+			?>
 
 			<?php bp_nouveau_member_hook( 'before', 'header_meta' ); ?>
 
@@ -45,6 +45,16 @@
 				</div><!-- #item-meta -->
 			<?php endif; ?>
 
+			<?php
+			bp_member_type_list(
+				bp_displayed_user_id(),
+				array(
+					'label'        => __( 'Member Types', 'buddypress' ),
+					'list_element' => 'span',
+				)
+			);
+			?>
+
 		</div><!-- #item-header-content -->
 
 	</div><!-- #item-header-cover-image -->
diff --git src/bp-templates/bp-nouveau/buddypress/members/single/member-header.php src/bp-templates/bp-nouveau/buddypress/members/single/member-header.php
index e82926bed..01413d709 100644
--- src/bp-templates/bp-nouveau/buddypress/members/single/member-header.php
+++ src/bp-templates/bp-nouveau/buddypress/members/single/member-header.php
@@ -31,5 +31,15 @@
 		</div><!-- #item-meta -->
 	<?php endif; ?>
 
+	<?php
+	bp_member_type_list(
+		bp_displayed_user_id(),
+		array(
+			'label'        => __( 'Member Types', 'buddypress' ),
+			'list_element' => 'span',
+		)
+	);
+	?>
+
 	<?php bp_nouveau_member_header_buttons( array( 'container_classes' => array( 'member-header-actions' ) ) ); ?>
 </div><!-- #item-header-content -->
diff --git src/bp-templates/bp-nouveau/common-styles/_bp_user_header.scss src/bp-templates/bp-nouveau/common-styles/_bp_user_header.scss
index 4b8449dd0..10d4a5d86 100644
--- src/bp-templates/bp-nouveau/common-styles/_bp_user_header.scss
+++ src/bp-templates/bp-nouveau/common-styles/_bp_user_header.scss
@@ -1,20 +1,40 @@
 // BP Single User Specific Header Styles
-// @version 3.0.0
+// @since 3.0.0
+// @version 7.0.0
 
-.bp-user {
+body.buddypress.bp-user {
 
-	.users-header {
+	.buddypress-wrap {
 
-		.user-nicename {
-			margin-bottom: $marg-xsml;
+		.users-header {
+
+			h2.user-nicename {
+				margin-top: 0;
+				margin-bottom: $marg-xsml;
+			}
+
+			.bp-member-type-list {
+				padding-bottom: 0.5em;
+
+				@include font-size(18);
+				margin: 0;
+				color: $black;
+				display: flex;
+
+				strong {
+					padding-right: $pad-med;
+					white-space: nowrap;
+				}
+			}
 		}
-	}
 
-	.member-header-actions {
-		overflow: hidden;
+		.member-header-actions {
+			overflow: hidden;
+			padding-left: 0;
 
-		* > * {
-			display: block;
+			* > * {
+				display: block;
+			}
 		}
 	}
 }
diff --git src/bp-templates/bp-nouveau/css/buddypress-rtl.css src/bp-templates/bp-nouveau/css/buddypress-rtl.css
index abe37caa7..3f55a7e34 100644
--- src/bp-templates/bp-nouveau/css/buddypress-rtl.css
+++ src/bp-templates/bp-nouveau/css/buddypress-rtl.css
@@ -2404,15 +2404,30 @@ body.no-js .single-item-header .js-self-profile-button {
 * User Accounts Specific Item Header
 *-----------------------------------------------------
 */
-.bp-user .users-header .user-nicename {
+body.buddypress.bp-user .buddypress-wrap .users-header h2.user-nicename {
+	margin-top: 0;
 	margin-bottom: 5px;
 }
 
-.bp-user .member-header-actions {
+body.buddypress.bp-user .buddypress-wrap .users-header .bp-member-type-list {
+	padding-bottom: 0.5em;
+	font-size: 18px;
+	margin: 0;
+	color: #333;
+	display: flex;
+}
+
+body.buddypress.bp-user .buddypress-wrap .users-header .bp-member-type-list strong {
+	padding-left: 1em;
+	white-space: nowrap;
+}
+
+body.buddypress.bp-user .buddypress-wrap .member-header-actions {
 	overflow: hidden;
+	padding-right: 0;
 }
 
-.bp-user .member-header-actions * > * {
+body.buddypress.bp-user .buddypress-wrap .member-header-actions * > * {
 	display: block;
 }
 
diff --git src/bp-templates/bp-nouveau/css/buddypress.css src/bp-templates/bp-nouveau/css/buddypress.css
index b3df10a7e..906c225b9 100644
--- src/bp-templates/bp-nouveau/css/buddypress.css
+++ src/bp-templates/bp-nouveau/css/buddypress.css
@@ -2404,15 +2404,30 @@ body.no-js .single-item-header .js-self-profile-button {
 * User Accounts Specific Item Header
 *-----------------------------------------------------
 */
-.bp-user .users-header .user-nicename {
+body.buddypress.bp-user .buddypress-wrap .users-header h2.user-nicename {
+	margin-top: 0;
 	margin-bottom: 5px;
 }
 
-.bp-user .member-header-actions {
+body.buddypress.bp-user .buddypress-wrap .users-header .bp-member-type-list {
+	padding-bottom: 0.5em;
+	font-size: 18px;
+	margin: 0;
+	color: #333;
+	display: flex;
+}
+
+body.buddypress.bp-user .buddypress-wrap .users-header .bp-member-type-list strong {
+	padding-right: 1em;
+	white-space: nowrap;
+}
+
+body.buddypress.bp-user .buddypress-wrap .member-header-actions {
 	overflow: hidden;
+	padding-left: 0;
 }
 
-.bp-user .member-header-actions * > * {
+body.buddypress.bp-user .buddypress-wrap .member-header-actions * > * {
 	display: block;
 }
 
