Index: readme/class-parser.php
===================================================================
--- readme/class-parser.php	(revision 8542)
+++ readme/class-parser.php	(working copy)
@@ -161,11 +161,44 @@
 	}
 
 	/**
+	 * Parses a readme by URL.
+	 *
+	 * @param string $url The URL of the readme to validate.
+	 * @return bool
+	 */
+	public function parse_from_url( $url ) {
+		$url = esc_url_raw( $url );
+
+		if ( strtolower( substr( $url, -10 ) ) != 'readme.txt' ) {
+			return false;
+		}
+
+		$readme = wp_safe_remote_get( $url );
+		if ( ! $readme_text = wp_remote_retrieve_body( $readme ) ) {
+			return false;
+		}
+
+		return $this->parse_readme_contents( $readme_text );
+	}
+
+	/**
+	 * Parse readme contents by file.
+	 *
 	 * @param string $file
 	 * @return bool
 	 */
 	protected function parse_readme( $file ) {
 		$contents = file_get_contents( $file );
+		return $this->parse_readme_contents( $contents );
+	}
+
+	/**
+	 * Parse readme contents by string.
+	 *
+	 * @param string $file
+	 * @return bool
+	 */
+	protected function parse_readme_contents( $contents ) {
 		if ( preg_match( '!!u', $contents ) ) {
 			$contents = preg_split( '!\R!u', $contents );
 		} else {
Index: shortcodes/class-readme-validator.php
===================================================================
--- shortcodes/class-readme-validator.php	(revision 8542)
+++ shortcodes/class-readme-validator.php	(working copy)
@@ -2,6 +2,7 @@
 namespace WordPressdotorg\Plugin_Directory\Shortcodes;
 
 use WordPressdotorg\Plugin_Directory\Readme\Validator;
+use WordPressdotorg\Plugin_Directory\Readme\Parser;
 
 class Readme_Validator {
 
@@ -91,5 +92,23 @@
 		}
 
 		echo $output;
+
+		$parser = new Parser( false );
+		if ( ! empty( $_POST['readme_url'] ) ) {
+			$parsed = $parser->parse_from_url( wp_unslash( $_POST['readme_url'] ) );
+		} elseif ( ! empty( $_POST['readme_contents'] ) ) {
+			$parsed = $parser->parse_readme( base64_decode( wp_unslash( $_REQUEST['readme_contents'] ) ) );
+		}
+
+		if ( $parsed && !empty( $parser-sections ) ) {
+			$output = '<h2>' . __( 'Preview', 'wporg-plugins' ) . '</h2>';
+			$output .= '<div class="readme-content">';
+			foreach ( $parser->sections as $title => $section ) {
+				$output .= '<h3 style="text-transform: capitalize;">' . esc_html( $title ) . '</h3>';
+				$output .= wp_kses_post( $section );
+			}
+			$output .= '</div>';
+			echo $output;
+		}
 	}
 }
