Originally, my notes were imported from Evernote.
I wonder if there is something that Evernote imports can add to the data which causes issues. I recall this issue which we never got to the bottom of, which was a sync issue with tags, where the originating data came from Evernote. It's a little different though, as the OP says the tags were not even making it to the server
My notes were imported from Evernote a couple of years ago and were syncing without a problem for all that time. Interest items that I hadn't considered when importing MD files. The files are in the correct notebooks, but the notebooks are only a single layer. I had several notebooks that were nested in other notebooks. These were not imported that way. Also, I had many special icons/emojis for notebooks. When I first imported the data, none of the notebooks showed any icon, not even the default folder (
). I added a canned icon to one of the notebooks and then the default folder appeared on all the other notebooks.
Neither of these issues is too big a price to pay to get me data back. Maybe, once I have isolated the issue with my original DB, I'll be able to recover and add the new records.
If the problem is a funky tag, though. It may make chasing down the issue a little more complicated. Stay tuned.
I found this thread from last year with a similar issue to yours 2025-08-28 - A particular note is no longer synchronising - #34 by Coffee, which is implied was also remedied by export as MD and FrontMatter and re-import (with further remediation required). The OP was also a previous Joplin Cloud user and used notebook shares.
Did you ever use any notebook shares while you were using Joplin Cloud?
That was an interesting thread. I'm pretty sure I never used a notebook share. I have reloaded a test DB and clicked on Note>Share, but nothing happened. I don't know if there are prerequisites I haven't met.
In the other thread, you mentioned that exporting as .md with frontmatter preserves the notebook hierarchy. That wasn't my experience. All of the notebooks were at a single level. I had to manually move them under their parents after being restored. Also, the cute little icons I attached to them were gone. Neither of these were issues, so I am only mentioning them to let you know.
To begin testing, I restored my main .jex file from when my problems began. I synced the data to the other PCs. To make sure the problem was still there, I created a test note that only contained a time stamp, no attachment, on each PC. None of the notes propagated to the other PCs even though the records were in the sync target. I checked the SQLite database of one of the PCs and the missing notes ID codes weren't there.
To get half the data for the half-slice method, I had two choices. My first choice was using the All Notes selection at the top of the notebook list. I then selected about half the notes and exported them into a .jex file. I did the same for the rest of the notes into a second .jex file. When I restored the first .jex file, the notes were restored, but there were no notebooks at all, but there were tags. I didn't think this was going to be a fair test so I abandoned this method. Instead, I exported each notebook as a .jex file. Note: This was after creating test notes in the Inbox notebook.
I have 25 upper level notebooks so I imported 13 for the next test. Once the primary PC was loaded and synced to new profiles on all the PCs, I noticed something odd. Even though the test notes didn't appear before with all of the notebooks, all 3 test notes appeared in the Inbox notebook in all 3 PCs. Unless exporting looks at the sync target, this doesn't make sense to me, so I am guessing I did something wrong. Do exports look at the sync target?
I am restarting the test. I have restored the original .jex file to the primary PC and the other PCs are currently syncing.
So...I restored the original backup .jex file. I then created test notes on each PC with a small .pdf attachment. PC1's test note didn't show up on either other PC. PC2's note showed up on PC1 without the attachment and the note didn't show up on PC3. PC3's note showed up on PC1 without the attachment and didn't show up on PC2 at all.
For the next test I exported the Inbox from PC1 as a .jex file. I then created new profiles and imported the new .jex file so that only the Inbox was imported. I synced to the new profiles on the other PCs. The all had all 3 notes, but only PC1's note had the attachment. The others didn't. On each PC, I added the attachment to its existing note again. When all 3 PCs were synced all 3 notes synced with the attachments. I performed the same test again, but imported the .jex file to PC2 instead of PC1. The results were the same.
It seems something is prevented syncing, but it's not in the Inbox notebook. Should I continue with the half-slice method?
Also, I am curious as to why the notebook hierarchy didn't restore for the .md export so I am going to try that again.
The prerequisite is you must be using Joplin Server or Joplin Cloud
I don't quite understand. Are you using a new profile, but an existing sync target to import the half slice? If that is the case, you need to delete everything at the root folder of the sync target for each test, otherwise previous tests will influence future tests. Basically, both client and server need to be fresh for every test
No they don't
Should I continue with the half-slice method?
Seeming as you have made separate jex files for each individual notebook, it might be quicker at the notebook level (starting with an empty sync target and new profiles) to just use a single profile on each device and import each notebook 1 at a time, but make and sync a new note on each client between every import. Do this until you you get the first sync issue, and then at that point use new profiles and an empty sync target, and see if you can reproduce the issue again with just that notebook
No. Every time I use a new sync target, I use a new profile, too. I tested with my original dataset before I exported my notebook .jex files. It was late when I started testing and I may have done something wrong. That's why I started the test again. The I exported the Inbox notebook from the original dataset from PC1 after my initial testing. PC1 had the test notes for the other PCs, but not the attachments. When I imported the Inbox notebook individually, all three notes propagated. The test notes from PC2 and PC3 did not have attachments, like PC1 showed before I exported the notebook. I edited the notes to redo the attachments which also propagated. It established that the Inbox notebooks and its contents aren't the problem.
One other thing I thought of is there might be notes that aren't in any notebook. I can identify them using a query on the SQLite DB. Is there an easier way I can find them in the Joplin app, too?
OK. I started a fresh import for each notebook, but I'll use a single profile for all of them and import them one at a time. See my other post this morning about notes that my not be in a notebook.
You'll just have to do it using sql. It's possible that notes not in a notebook may be causing a problem, but I think just go ahead with the individual notebook imports test, and only if you get no sync issues after importing every notebook, should you investigate notes which are not in a notebook (if there actually are any notes like like this)
![]()
Found it! While testing an syncing, I found the notebook that contained the note that was causing the problem. Once I imported the notebook, syncing took the form where one PC got all 3 test notes, but no attachments. The other 2 PCs wouldn't sync at all.
I moved the notebook to trash on the primary PC, but the other PCs didn't sync. I emptied the trash on the primary PC and the notebook disappeared from the others.
Let in their place was a single note in the 'conflict' notebook. I deleted that note and emptied the trash and everything started working properly.
As a final test, I restored the original full dataset, deleted that one note, synced the local sync targets, and tested by adding a note to each PC with an attachment and everything propagated.
I restored the notebook and inspected the note in the target sync. I didn't see anything unusual, but deleting that note, solved my sync problem.
I have decided that using local sync targets and Syncthing is the way I am going to move forward. If Syncthing gives me problem in the future, I still have a full year that I just paid for using Joplin Cloud, but I like the transparency of being able to inspect the sync target.
Is there a way you can look at the note and figure out why it's a problem? Perhaps code for it so it won't happen again?
Thanks for your help.
Are you sure the note which made the conflict is specifically the problematic note? Could you please verify this by exporting that note from the original jex imported dataset and import that into a new profile?
If you find the issue is not reproducable that way, then probably is not the correct note, and you'll need to use the half slice method for the notes within the notebook to narrow it down to the correct one. I don't think the notebook object itself is likely to be the issue
So...Rather than restoring the entire dataset, and syncing the sync targets across 3 PCs, which takes a couple of hours, I restored the .jex file for the notebook that contains the note in question.
I created test notes, just like the other tests. PC1 got the notes from PC2 and PC3, but not the attachments. PC2 and PC3 didn't get any note or attachment. I checked all 3 local sync targets and the files for the test notes were there.
I then exported the note in question to its own .jex file and permanently deleted it from the restored notebook. Once all the local targets re-synced, the 3 PCs all had all 3 notes with attachments in Joplin.
Earlier, I restored the entire .jex dataset and confirmed it behaved exactly as I described above. I didn't export the note in question. I just permanently deleted it. All 3 test notes propagated to all 3 PCs with attachments.
I just imported the note that I exported from the single notebook .jex file into the full dataset. It started behaving like the single notebook behaved when it had issues. I then permanently deleted the bad note and the sync started working properly again.
I looked at the note in notepad, but didn't see anything unusual. I didn't save it so whatever is causing the problem is still there and can be duplicated at will. Tomorrow, I can import that note into other single notebook imports and see if the behavior transfers to them.
If you want to take a look at the note, there isn't any sensitive information other than general information and my cardiologists fax number, which is public.
Let me know.
Rather than importing that note into an existing notebook / profile, could you import it into a new profile with an empty sync target instead, to confirm the issue occurs by importing this one note in isolation?
That would be great! If you could confirm that single note to be the problem using the above test, could you please send me the jex for that note via PM?
I created new profiles and sync targets as you requested. I imported the single note. I created test notes on all 3 PCs:
- PC1 - All 3 notes, no remote attachments
- PC2 - No remote notes, only local note with attachment
- PC3 - No remote notes, only local note with attachment
- Test note created on PC1 was in the local sync targets of all 3 PCs.
- Permanently deleted problem note from PC1. No change.
- Permanently deleted note from PC2.
- All 3 notes appeared.
- Attachment from PC1 appeared.
- Attachment from PC3 still missing.
- Attachment from PC2 appeared on PC1.
- Permanently deleted problem note from PC3.
- All 3 notes with attachments appeared.
- Attachment from PC3 appeared on PC1
I failed to pay attention to the sync targets when I permanently deleted the problem note so I reimported it. It synced to all the sync targets that contained the test notes.
- When permanently deleted from PC1, the note was deleted from the local sync target.
- After sync targets were sync, the note was missing from the PC2 local sync target.
- It took a few minutes, but the problem note disappeared from its import folder.
- A new folder, called Conflict appeared. The problem note appeared in it.
- Same behavior in PC3.
I think it's safe to assume that this note is the problem. It's a simple text note with no attachments. I'll send the .jex file to you. I'm curious what you will find.
Thanks.
That's fantastic, thanks! I will experiment with the jex file and see what I can find
@mrschwarz I have found what is different about the note which causes sync issues. It is because the modified date of the note in the jex export is in the future:
Another observation is that every time the note is changed, and then the sync runs, a new conflict is created. So the problem wont go away unless the note is permanently deleted.
Do you have any idea how that might have happened?
EDIT: I've found the cause for why notes are not being synced when an item has a date in the future. The sync logic explicitly stops the sync when it finds a sync item where the date is in the future without producing an error (so the sync shows as successful), because this would normally be a temporary issue due to small amounts of local time drift across devices. I think a reasonable solution would be to alter this logic so that if an item has an updated time in the future which is over 24 hours in the future, then report an actual error instead of ignoring it. That way the logic would still work how it is intended to, but if an item has a modified date far in the future for some reason, then a reported error would at least pinpoint what the problem is, so it can be self remedied or remedied with support on the forum.
I don't know how it happened. I don't recall ever changing creation or modified dates, but it's not the only note it happened to. There was another note that appeared to have the same modified date. I knew it was wrong and that the particular note hadn't been updated since it was created so I manually changed it to match the creation date.
I don't know how the dates are calculated. In the DB, they appear like this: 1520266934000. Can you give me the formula?
I am assuming that your date format is dd/mm/yyyy. Otherwise the problem is different.
So...If I am visiting Europe (several hours ahead) and am syncing with another system at home in Arizona, the record won't sync until Joplin at home catches up with the date/time of Joplin in Europe? I am note sure of the logic behind that and why one record would halt the whole process. If it that has to be a requirement, your solution would at least let the user know there's a problem and where to find it.
Most systems I have worked with use Universal time in the database while converting to local time when displaying it. Is this how Joplin works? Perhaps some logic in the screens that allow the user to change the creation and modification date to make sure the date is in the present or past, but not in the future.
Thanks for clearing this up.

