Tuesday, July 20, 2010

Evernote Tag Sort Order

I created a new utility which supports more clients and makes finding which characters to use much easier.

Sometimes I like to use characters in front of tags (or saved searches) to have them sort to the top. The problem is that not every Evernote client sorts the tags in the same order. For reference, I have written down the sort order for several of the clients:
  • PC: -' !"#$%&()*./:;?@[\]^_`{|}~+<=>1aBcD
  • Mac:  !"#$%&'()*+-./1:;<=>?@[\]^_`aBcD{|}~
  • Web:  (same as Mac)
  • iPhone:  (coming soon)
  • iPad:
    • Tags list:  `^_-;:!?.'"()[]{}@*/\&#%+<=>|~$1aBcD
    • Tag selection list: (same as Tags list)
    • Note info list: (same as Mac)
Therefore, to maximize the amount of symbols you can use and still have them be consistently sorted (on the Mac and PC clients), I would recommend using the following symbols:  !"#$%&()./:;?@[\]^_`A
... and avoiding the following symbols: -'*{|}~+<=>;1

This also means that numbers (0-9) will not be consistently sorted on the Mac and PC, so you might want to avoid mixing them with symbols.

The only way to consistently get something to the bottom is to prefix it with several z's.

  • These orders are only for the Tags and Saved Searches. The Title sorting for all clients always uses the same order as the Mac version.
  • The space symbol ( ) is okay to use. Look for it near the beginning of each string.
  • It uses a case-insensitive sort, this can be seen with the string aBcD.
  • If you decide to use the open parenthesis symbol (, it must have a matching close symbol ), otherwise there is no way you can search for the tag. For example, (testing) is fine, but (testing is not.
  • The reason I don't recommend *, even though it would be sorted correctly, is because it will not allow you to use the tag: search query to find it. The only way to search for it is to actually click on the tag in the tags list.
  • The , symbol is not allowed in tag names.
  • I've had at least one occasion where the iPad was giving me trouble creating a tag with the ? or * symbols. I had to use another client to create them.
  • The iPad "Tags list" refers to the Tags option on the home page. The iPad "Tag selection list" refers to the list when you tap the blue arrow next to the tags, which allows you to select tags to apply to the active note. The iPad "Note info list" refers to the list that is shown when you tap the "Details" link on a note, to see which tags it currently has.
Update (9/26/2010): I just added the data for iPad sorting. As you can see, it's very different from the other two clients. For this reason, you may not want to optimize your symbol selection based on its criteria, since then you will be limited to far fewer symbols to choose from.


  1. Thanks for this solution. I was having problems with tag sorting and this explains it.

  2. Thanks for the post. I find this to work when I create tags ie it sorts them accordingly. But, if I RENAME a TAG to something with say an ! in front, I can't seem to get it to re-sort the Tag list. Collapse/Expand, or program restart doesn't change it. Any Ideas?

  3. @Jeff: which Evernote client are you using (i.e. Windows, iPhone, Mac, etc.) and what's the version number (usually located in the about box)?

  4. I am using Windows client.

    I found a workaround that I think is sufficient.

    Hold down CTRL to select Tags.
    Drag them onto another tag (ie nest them). Now drag them back to the top level (ie on the word TAGS) and release. They now resort.

    Nice eh?

  5. I am having the same problem, with a constantly updated list of people, in the format: -[lastname].[firstname]

    I can drag the tags around, but it's cumbersome. I am using Windows 7 with Evernote version

  6. For anyone reading this using Evernote for Windows v5.1, here is the tag sort order:
    '- !"#$%&()*./:;?@[\]^—{|}~+<=>1aAbB

    And for Evernote for Android v5.7.1:
    (space character) `^_-;:!?.'"()[]{}@/\&#%+<=>|~$1aAbB

  7. I've noticed that when I rename a tag, it does not automatically get re-sorted. Is there a good way to handle this?