Perhaps it's easier to create a private fork and change the source code because I guess it's only one line you've to change to avoid the convert to lower case.
I have done this a few days ago and it seems to propagate correctly (from my Windows computer) to my Android phone and my Macbook.
Edit: in my case I created a tag OneNote (where I import these notes from) and it became onenote. The tag was then sync'ed to all my devices. Then I tried to modify it in the database by DB Browser, it becomes OneNote in all my devices by just one sync.
I'm reviving this topic because it seems silly that tags may only be lowercase. Like others in this thread, I imported hundreds of capitalized tags from Evernote. So clearly tags can be capitalized. Unfortunately, my programming skills are nil, but I wish someone would figure out a fix for this, even if in plugin form.
As someone else has ressurected this post I thought I would take the opportunity to say that although it is three years later I am still "not used to it"
Ok, it's 2023, I've used Joplin for about 3 years, and I still miss mixed case tags, it's frustrating they are not allowed. And, considering the age of this discussion I guess this feature will never be implemented.
Hey I just migrated from evernote after I was unable to create a new note in the desktop version due to paywalls. So I found a workaround to allowing mixed case tags in Joplin. Since I maxed out notes in the desktop evernote, I was able to create a new note in the website version of evernote and after creating a new note, I reinstalled the desktop version and added whaetever tags I wanted into the new note.
Then I imported the .enex file into Joplin and now I have a new tags to choose from. I then added those tags to where I needed then proceeded to delete that enex file since it's just taking up space for no reason (important to note that if you delete that imported .enex file before 'tagging' your Joplin notes, when you delete the .enex note from Joplin, your news tags will disappear as well).
I guess this would be the only reason I keep ever note desktop now but it will strictly be for tags (I tried exporting evernote as a webpage/HTML but Joplin could never find it).
Disclaimer: This method WILL replace your existing tags and whatever notes you have tied to them will be freshly untagged.
Some thoughts from my side also. Didn't read the thread fully, it's long, so I'm sorry if I duplicate information. I'm not against using tags in lowercase and maybe it is a good reason to be so, but it would be good to have this functionality everywhere in this case (e.g. I just imported my notes from Evernote, and tags were imported using case sensitivity, I expected that in this case they should be converted to lower case automatically during importing process. Fortunately, I don't have many of them, so I will rename them manually. Additionally, when you type tags in the dialog, then it will be expected to see them in lowercase only. Currently, you see that tags could have uppercase characters, however, after creation, they are transformed to lowercase, not intuitive let's say).
P.S. I fully understand, that it is always easier to say than to make. But maybe some time later I will join the Joplin development community and bring some useful from my side as well.
For whatever it is worth, I am also using Joplin for a while now, have some Upper Case tags from my Evernote export, and am also a little irritated by the fact that Joplin forces new tags to be lower case, maybe compounded by the fact that I am also a native German speaker.
Say you want to introduce a tag PDF, while you already have pdf. Rename the pdf tag in Joplin to something like pdf_old. Create a file Tags.enex with content:
As you see, you can have multiple tags in there. Import this file to Joplin using "Import ENEX as markdown". Then manually go to all notes marked with pdf_old, add tag PDF, and delete pdf_old. Then delete the imported note(book).
As someone else has resurrected this thread I thought I would take the opportunity to say that although it is four and a bit years later I am still "not used to it" (and so I have to resort to hacks like the one below)
It's not perfect because it does not work for tags such as "PDF" or allow you to have actual lower case tags, but if you want to "fake it" you can add the below to userchrome.css:
This will make the tag list and the tags on the note display a capital letter for the first letter of each word in the tag. The actual tag itself is unchanged.
A nice, clean solution. A couple of years ago in this thread I suggested using Evernote to export a single note with the desired tags and thereafter using a text editor to add new tags. But your solution avoids any need for Evernote. Huzzah!
Three minor details to consider:
These tag changes are cosmetic. Searching for notes with "tag:pdf" or "tag:Pdf" or "tag:PDF" will all return the same results.
Tags are only alive, so to speak, while being used. If you accidentally delete the only notes using a particular tag, you've deleted that tag's existence as well. It's an unlikely scenario for most users perhaps, but worth remembering for those of us easily distracted by squirrels and shiny objects.
Tags can include characters beyond the usual letters and numbers. A pedantic hardware hacker could use I²C rather than I2C, for example, or perhaps keep a notebook for dumb ideas labeled ばか.
Excellent workaround.
I would like to add, for those like me who like to have some color in their tags to identify them faster, that this method also works with Unicode tags. So you can get tags like : PDF🔴 InboxUrgent⚠️
(I still believe Joplin should allow natively Upper Case tags, exactly the same way as Evernote. But for intermediate/advanced users, this workaround is simple enough for now) .
I've been a Joplin user for all of two days, moving from Evernote. Imagine my surprise when I noticed some tags "reverted" to lower-case tags.
The stated reason for the use of lower-case-only tags, mentioned several times at the beginning of this discussion, basically comes down to "because we've always done it that way." That is not a reason. It's an excuse.
I have to commiserate with @dpoulton when he mentions he's been discussing this for four years and is still "not used to it." I don't think he, or anyone else, should have to "get used to it." Kudos to him, to @Merk, @ipsum, and countless others who haven't let this discussion die.
I fully understand that the developers are volunteers, but I hope they recognize that this change is something both experienced users and brand-new users want to see changed and updated. Someday.
Imagine my surprise when I noticed some tags "reverted" to lower-case tags.
I'm unfamiliar with this reversion behavior you're alluding to. I just created a dummy ENEX file as described above and imported an "ABBA" tag. The tag list now displays the tag as all upper case. So importing of upper case or mixed case tags from Evernote appears to be working fine.
I'm racking my brain to come up with a use case where I would want/need another, different tag of "Abba". I'm drawing a blank. Now I can be as fussy as the next bloke and have, for example, tags of both "cyberpunk" (for the genre) and "Cyberpunk 2077" (for the game). But adding either or both tags to a note is easy using the autocomplete nature of Joplin. It's true that I can't create new tags of "Cyberpunk" and "cyberpunk 2077" as they would collide in searches with the preexisting tags, but I don't see that as a problem. Do you?
The stated reason for the use of lower-case-only tags ... basically comes down to "because we've always done it that way." That is not a reason. It's an excuse.
It's not an excuse. It's a design decision. And it's not "because we've always done it that way." It's (to paraphrase) "because we thought this approach enabled a better software design" and also "devoting hours to changing things for a handful of users is a poor use of our time." At least, that's my understanding of things from the outside looking in.
I don't think he, or anyone else, should have to "get used to it."
I disagree. To turn your phrasing around, "this needs to change because I've always done things differently" is not a persuasive argument. True, it would be nice to not have to rely on the importation workaround discussed above, but seriously, how often do you need to create tags that require case sensitivity?