Contact App syncs only part of contacts with iOS

Nextcloud version (eg, 20.0.5): 21.0.1
Operating system and version (eg, Ubuntu 20.04): LTS Focal Fossa
Apache or nginx version (eg, Apache 2.4.25): 2.4.41-4ubuntu3.1
PHP version (eg, 7.4): 7.4

I have installed a fresh Nextcloud on my own server. I installed the contact app. I exported my contacts from my google account and imported all 250 contacts into nextcloud. In the web interface, in the windows client and on my android (via DAVx⁵), i can see all 250 contacts, i can edit and remove them, everything is fine so far.

BUT on my iOS devices, i cannot see all accounts. I added an account with the URL https://my.server/nextcloud/remote.php/dav/principals/users/myUser/, that i found in the web client. I provided my credentials, the devices connected without error, and i can see the nextcloud contacts. But while on my nextcloud server i have 250 contacts, i can see only 225.

I did this on 3 different iOS devices, and on all the same contacts are missing. I thought it might be an undocumented size restriction, but if i delete a contact, i have 249 contacts on the server and 224 on iOS.

The 25 missing contacts belong to different groups, and i cannot find a common attribute that might cause that error. How can i proceed to get ALL my contacts synchronized with iOS?


To make some progress, i downloaded the complete address book as vCard file. Still i cannot see any differences between syncing and non-syncing entries.

But i can see a lot of non-standard entries that do not comply with RFC 2426. I find a lot of


which should be imho:


Also, i find one extra field in the ADR data appended, containing a (badly) formatted address as should be in LABEL (which does not exist).

All vCards are declared VERSION:3.0, but obviously, they do not comply. Is this a fault of nextcloud, or did i import already corrupted data?

I’m facing similar a similar issue. I migrated data from Google Contacts to Nextcloud, and also ended up with corrupt contacts like described before.
Did you find a way to fix the corrupted data inside Nextcloud or at least identifying the wrong ones?

Update: I just verfied the vcard in the Google Export. There the phone number line looks valid but not anymore in Nextcloud. So could be an issue with the Nextcloud import functionality.