diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportActivity.java
index 1d09ad2c428def1e37980d472cc8c587330bfd36..c382f1a8cb6f7df6bf67a5ad104c0120180d84d7 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportActivity.java
@@ -5,6 +5,7 @@ import android.os.Bundle;
 import android.support.v7.app.AlertDialog;
 import android.text.Editable;
 import android.text.TextWatcher;
+import android.util.Patterns;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
@@ -20,9 +21,12 @@ import org.briarproject.briar.android.activity.BriarActivity;
 import org.briarproject.briar.api.feed.FeedManager;
 
 import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
 import java.util.concurrent.Executor;
 import java.util.logging.Logger;
 
+import javax.annotation.Nullable;
 import javax.inject.Inject;
 
 import static android.view.View.GONE;
@@ -98,10 +102,17 @@ public class RssFeedImportActivity extends BriarActivity {
 
 	private void enableOrDisableImportButton() {
 		String url = urlInput.getText().toString();
-		if (url.startsWith("http://") || url.startsWith("https://"))
-			importButton.setEnabled(true);
-		else
-			importButton.setEnabled(false);
+		importButton.setEnabled(validateAndNormaliseUrl(url) != null);
+	}
+
+	@Nullable
+	private String validateAndNormaliseUrl(String url) {
+		if (!Patterns.WEB_URL.matcher(url).matches()) return null;
+		try {
+			return new URL(url).toString();
+		} catch (MalformedURLException e) {
+			return null;
+		}
 	}
 
 	private void publish() {
@@ -109,7 +120,9 @@ public class RssFeedImportActivity extends BriarActivity {
 		importButton.setVisibility(GONE);
 		progressBar.setVisibility(VISIBLE);
 
-		importFeed(urlInput.getText().toString());
+		String url = validateAndNormaliseUrl(urlInput.getText().toString());
+		if (url == null) throw new AssertionError();
+		importFeed(url);
 	}
 
 	private void importFeed(final String url) {
diff --git a/briar-android/src/main/res/layout/activity_rss_feed_import.xml b/briar-android/src/main/res/layout/activity_rss_feed_import.xml
index cf00f260f7552fde83a4db161a22e58de4f3d33e..3997b061bfe42b0b0821936864a16cf1affe7e3f 100644
--- a/briar-android/src/main/res/layout/activity_rss_feed_import.xml
+++ b/briar-android/src/main/res/layout/activity_rss_feed_import.xml
@@ -15,7 +15,7 @@
 		android:layout_weight="1"
 		android:gravity="top"
 		android:hint="@string/blogs_rss_feeds_import_hint"
-		android:inputType="textMultiLine|textUri"/>
+		android:inputType="textUri"/>
 
 	<Button
 		android:id="@+id/importButton"