diff --git src/js/_enqueues/lib/nav-menu.js src/js/_enqueues/lib/nav-menu.js
index cd62acc36f..3f1f9a7480 100644
--- src/js/_enqueues/lib/nav-menu.js
+++ src/js/_enqueues/lib/nav-menu.js
@@ -944,7 +944,7 @@
 		},
 
 		addCustomLink : function( processMethod ) {
-			var url = $('#custom-menu-item-url').val(),
+			var url = $('#custom-menu-item-url').val().trim(),
 				label = $('#custom-menu-item-name').val();
 
 			processMethod = processMethod || api.addMenuItemToBottom;
diff --git src/js/_enqueues/wp/customize/nav-menus.js src/js/_enqueues/wp/customize/nav-menus.js
index b6560366c1..200635d320 100644
--- src/js/_enqueues/wp/customize/nav-menus.js
+++ src/js/_enqueues/wp/customize/nav-menus.js
@@ -544,6 +544,7 @@
 			var menuItem,
 				itemName = $( '#custom-menu-item-name' ),
 				itemUrl = $( '#custom-menu-item-url' ),
+				itemUrlVal,
 				urlRegex;
 
 			if ( ! this.currentMenuControl ) {
@@ -564,17 +565,19 @@
 			 */
 			urlRegex = /^((\w+:)?\/\/\w.*|\w+:(?!\/\/$)|\/|\?|#)/;
 
+			itemUrlVal = itemUrl.val().trim();
+
 			if ( '' === itemName.val() ) {
 				itemName.addClass( 'invalid' );
 				return;
-			} else if ( ! urlRegex.test( itemUrl.val() ) ) {
+			} else if ( ! urlRegex.test( itemUrlVal ) ) {
 				itemUrl.addClass( 'invalid' );
 				return;
 			}
 
 			menuItem = {
 				'title': itemName.val(),
-				'url': itemUrl.val(),
+				'url': itemUrlVal,
 				'type': 'custom',
 				'type_label': api.Menus.data.l10n.custom_label,
 				'object': 'custom'
