Are there any reasons I shouldn't use an asterisk (*) in a URL?


With asterisks, I could provide these nice and user friendly (or what do you think??) URLs:

  • example.com/some/folder/search-phrase*
    means search for pages with names starting with "search-phrase", located in /some/folder/.

  • example.com/some/**/*search-phrase*
    means search for any page with "search-phrase" anywhere in its name.

  • example.com/some/folder/*
    means list all pages in /some/folder/ (rather than showing the /some/folder/index page).

  • 1
    cf. similar SO question
    – Su'
    Jun 25, 2011 at 8:52
  • 1
    Here's another similar SO question: Can a URL have an asterisk?. I didn't find them, because I spelled Asterisk with Asterix :-/ until I was corrected (see the Asterix reply below :-)).
    – KajMagnus
    Jun 25, 2011 at 16:20
  • @KajMagnus I found a site for the first time today using asterisks in their URLs. See my updated answer below.
    – Nick
    Jul 13, 2011 at 15:44

2 Answers 2


Using an asterisk (*) in a URL is not such a great idea. Because it's a reserved character, it's not used anywhere else; even though your URL scheme seems user-friendly to you, few will think to try it, and it's likely to give unpredictable results because the meaning of wildcards in URLs is hard to discern. (I couldn't tell what all of your examples meant until I read your descriptions.)

Not only that, but there might be some more semantic/meaningful ways to do what you describe. For example, you could append a query string and use a 'find' and 'where' variable to tell your method what to find where:

Find pages starting with 'search phrase' in /some/folder/:


Find pages with 'search phrase' anywhere:


To show all pages, I would use a separate method called 'all' instead of a query string or wildcard syntax:


The query string syntax is far more common than asterisks -- look in your address bar next time you do a Google search, for example -- and it will likely be easier to code too.

Finally, if you don't like the look of query strings, you could prepend a method name called 'search' and then use the next two blocks as the 'find' and 'where' variables. e.g. Instead of:


You could have:


Then, you just need to check for the 'search' keyword in your URL path, and trigger the your search method using the next two path segments as variables.

UPDATE: I found an asterisk in a URL today. The new archive.org interface is using it exactly as you describe (as part of a search feature), in place of an 'all' keyword. e.g.:


instead of


The first example returns archived listings from all dates for google.com, rather than just pages from a certain date (second example). Interestingly, I can't link to the live page here, because the Stack Exchange site encodes the * character as %2a when it appears in URLs, which results in a 404 from archive.org. (Perhaps another reason not to use asterisks in URLs.)

I still think it's not quite as clear as 'all', but, if you're looking for examples of other sites adopting asterisks in their URLs, that's the first one I've seen.

  • W.r.t. Asterix: What! Did you think I meant "Asterisk"?
    – KajMagnus
    Jun 25, 2011 at 9:01
  • W.r.t. Asterix: Oh that's why I didn't find any relevant pages on StackOverflow or Webmasters. Now I found 2 related pages on S.O.: Allowing asterisk in URL and Can a URL have an asterisk? -- thanks :-)
    – KajMagnus
    Jun 25, 2011 at 9:02
  • Thanks for the info on how end users probably would perceive the asterisks. Now I will most likely prefer query strings instead.
    – KajMagnus
    Jun 25, 2011 at 9:05
  • (In case anyone wonders about the reference to Asterix: I misspelled Asterisk, I thought it was Asterix :-))
    – KajMagnus
    Jun 25, 2011 at 16:22

Yes, because it's a reserved character.

Other reserved characters

The asterisk ("*", ASCII 2A hex) and exclamation mark ("!" , ASCII 21 hex) are reserved for use as having special significance within specific schemes.

From here: https://datatracker.ietf.org/doc/html/rfc3986#section-2


Section 2, on characters, has been rewritten to explain what characters are reserved, when they are reserved, and why they are reserved, even when they are not used as delimiters by the generic syntax. The mark characters that are typically unsafe to decode, including the exclamation mark ("!"), asterisk ("*"), single-quote ("'"), and open and close parentheses ("(" and ")"), have been moved to the reserved set in order to clarify the distinction between reserved and unreserved and, hopefully, to answer the most common question of scheme designers.

From here: http://labs.apache.org/webarch/uri/rfc/rfc3986.html#modifications

  • Hmm, * is a reserved character, yes. But it's a sub-delimiter, and when I read the URI spec it seems to me that it's fine to use sub-delims in an application specific manner, in the path component of the URI. -- Doesn't this mean it's OK to use * (and also e.g. @, :, +, ,) in the way I did?
    – KajMagnus
    Jun 25, 2011 at 8:03
  • I'm confused by the phrase "are reserved for use as having special significance within specific schemes". Can I not define my own application specific scheme? Could that be intention, with sub-delims, that web apps use them in a web app specific manner?
    – KajMagnus
    Jun 25, 2011 at 8:06
  • For what it's worth, here someone says Wikipedia allows asterisks in URLs and someone else says it's okay: Can a URL have an asterisk?
    – KajMagnus
    Jun 25, 2011 at 9:09
  • You asked if you should use it, not if it's technically possible or not, and the general idea is that unless you know exactly what you are doing, you should not use it.
    – Alex
    Jun 25, 2011 at 23:42
  • I don't know if I agree with that general answer. A way to learn new stuff, is to do something that you don't know how it works, and then you'll learn and find out. How would our future be if people in general did only things that they knew exactly how they were working? (It's a pre-alpha-version that I'd be releasing, so it's not meant for production :-)) -- Thanks for the info and links anyway :-)
    – KajMagnus
    Jun 27, 2011 at 7:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.