Syncthing able to sync millions of files between Android / Mac?

Hi all, I’m not yet a Syncthing user, but wanted to ask, if it’s worth trying for my usecase. I need to sync about 2 million small files, organized in various directory levels, between a Mac and the microSD card in an Android smartphone. They sum up to about 70GB for now, it will become more with time. Usually I did so using USB mass storage access to the phone, using a normal local sync utility on the Mac (Chronosync). Mass storage mode isn’t available anymore on Android since I updated the phone, so I need an alternative. Syncing that stuff via MTP takes ages and is very unreliable. All sync solutions that support MTP on the Mac that I tried gave me bad errors or crashed. And I really don’t want to sync that stuff over a cloud. So Syncthing seems to be a good solution, as it is independent on MTP and on clouds. However, will it be able to manage that large amount of files, especially on Android? If it works with a database for keeping track of file statuses, that database may become quite large. Even the Nextcloud client on the Mac has some issues with that. I didn’t try Nextcloud on Android for that yet. :wink:

So, please let me know, if it’s worth trying SSyncthing for that use case. Thank you!


There is one possible caveat for the “main” Syncthing on Android: Due to Android’s restriction on external SD card access Syncthing on Android cannot write to it (except to its own Android/data folder, which may or may not be an option for you?). If you use “unified storage” (not sure whether that’s the correct name - the thing were internal storage and sdcards are combined into one) that’s no problem or if you use a custom rom/root you can circumvent it too.

Other than that the first transfer will be slow, as Syncthing needs to scan every file (works at block level) and phones aren’t usually that powerful. In general it works nicely - I use it for ~50GB on my Moto G4Play, which I guess is low-/mid-end (?).

If you synced manually before, syncthing-lite might be an option for you. It is a Java/Kotlin implementation and thus doesn’t have the SD card limitation. It is not designed for continuous synchronization, but pulling files from other devices on demand. Warning: It is still in alpha though.

You might run into RAM issues with that many files on a phone.

1 Like