Skip to content

How we test our tools

Last updated · By Team ToolkitHere

Every ToolkitHere tool is tested with sample files we create ourselves, in several browsers, with automatic checks that no file data leaves the page. We never test with real people's personal data.

What sample files do we use?

We build our own test files with made-up names and numbers. For the VCF to CSV Converter they include:

Sample fileWhat it checks
vCard 3.0 in the style of an iPhone exportLabels, custom labels, multi-line addresses, photos
vCard 2.1 in the style of an older Android exportQuoted-printable text, accented and Chinese names, unindented photo data
vCard 4.0Phone numbers as links, preferred entries, dates without a year
Windows-1252, UTF-16 and Shift_JIS filesFiles that are not saved as UTF-8
A file with garbled charactersAutomatic repair of text like José
A deliberately broken fileMissing end lines, junk lines, nested cards, broken encoding
A generated file with 5,000 contactsSpeed, and a smooth preview
A CSV file, an empty file and a zip fileClear error messages for the wrong kind of file

For the ICS Viewer they include:

Sample fileWhat it checks
A calendar in the style of a Google exportA weekly series across a daylight-saving change, a skipped date, a moved meeting, all-day and multi-day events
A calendar in the style of an Outlook exportA Windows time zone name with its own rules, accented text
Events with time zones but no zone rulesStandard, prefixed and Windows zone names, and an unknown zone
Edge casesA series that never ends, a cancelled occurrence, an untitled event, two calendars in one file
Two overlapping calendarsMerging, with exact duplicates removed and tasks kept
A deliberately broken fileJunk lines and an event with no start time

For the Chat Export Viewer they include:

Sample fileWhat it checks
An export in the style of an iPhoneBrackets and seconds, hidden characters, system lines, multi-line, edited and deleted messages
The same export as a .zip with a photo and a voice noteAttachments shown inside the chat, loaded on demand
An export in the style of a US Android phone12-hour times, month-first dates, captions, omitted media, emoji
A German-style group chat24-hour times, dotted day-first dates, umlauts, phone numbers as names
Dates that could be read either wayDay/month detection and the switch to correct it
A generated chat with 50,000 messagesSpeed, smooth scrolling and jump to date

What do the automatic tests check?

  1. The reader itself: unit tests check that every sample file gives exactly the expected names, numbers, labels and dates.
  2. The whole tool in a browser: the tests add a file, check the preview, download the CSV and Excel files, and check what is inside them.
  3. Privacy: the tests record every network request after a file is added and fail if any request could carry file data. They also check that the part of the page that reads your file cannot reach the internet at all.
  4. Error messages: the tests add a wrong file, an empty file and a zip file, and check the message that appears.
  5. Speed and accessibility: every page is checked with Lighthouse on a simulated mid-range phone.

Which browsers and devices do we test on?

SetupHowLast checked
Chrome (desktop)Automated testsOctober 11, 2026
Firefox (desktop)Automated testsOctober 11, 2026
Safari engine (desktop)Automated testsOctober 11, 2026
Android phone sizeAutomated tests, simulatedOctober 11, 2026
iPhone sizeAutomated tests, simulatedOctober 11, 2026

How do we check export steps for other apps?

Steps like "how to export your contacts from an iPhone" are checked against the app maker's own help pages, such as Apple Support, Google Help, Microsoft Support and the WhatsApp Help Center. Each page shows the date of its last check. When a menu changes, we update the steps and the date.

Where can I see this for myself?

You can repeat our privacy check at home. The How it works page shows how, using airplane mode or your browser's network tab.