| Format | Files | How it is read |
|---|---|---|
| Excel and spreadsheets | .xlsx .xlsm .xlsb .xls .xltx .ods .fods .numbers .xml .html .dbf .slk .dif | Every sheet is read. Merged company cells carry down while the email domain matches. |
| Text tables | .csv .tsv .tab .txt .prn | Comma, semicolon, tab or pipe is detected. UTF-8, UTF-16 and Windows encodings work. Mobile numbers keep their leading zero. |
| Google or Outlook contacts | .csv | First, middle and last name are joined into Contact person. Labels and categories become tags. |
| Contact cards | .vcf .vcard | From Google, Outlook, iPhone and Android, including cards with several contacts in one file. |
| Word tables | .docx .docm .dotx | Every table in the document is read like a sheet. |
| JSON | .json | A backup from this tool restores everything. Any other list of contacts loads like a sheet. |
| Bounce messages | .eml .msg | Recorded as bounces. Also on the Record bounces tab. |
| Not readable | .pdf .doc images | A browser cannot read these reliably. The tool tells you how to convert each one. |
Offline contact tool · by Sohel
Guidebook
Every screen, every button and every number on the dashboard.
Ten steps from your first contact file to a clean mailing list.
Last updated 29 Sep 2026
Any list of contacts. An Excel sheet works best. The tool reads these columns: SL #, Group, Company, Contact Person, Designation, Email, Mobile no 1, Mobile no 2 and Tags.
Column names are matched loosely, so Organisation, Supplier name and Vendor all load as Company. CSV, Google and Outlook contacts, vCard, Word tables and JSON work too.
No file yet? Press Download blank Excel template in All Contacts, Load files tab, fill it in, and load it. Or start with + Add contact.
The tool is one HTML file. Double-click it and it opens in your browser. There is nothing to install and no account.
Keep the HTML file on your own drive. Keep your working Excel file and your backups next to it.
Your contacts do not leave this computer. Every file is read inside the browser and every export is written locally. The only network call is the optional mail-server check. It sends domain names only, never an address or a name, and only after you agree.
Double-click the HTML file. The top bar carries the screens: Dashboard, All Contacts, Company Confirmation, Manage Groups, Ready to Mail, History & Export and this Guidebook. They run in the order of the work: look, clean, confirm, organise, then send. History & Export and this Guidebook come after. The numbers on the buttons count your contacts and the addresses ready to mail.
Beside the screens sit four controls. File & Backup opens a short menu to load or save your contact file and your complete backup, from any screen. The Theme list sets the colours: Auto follows your Windows light or dark setting, then Light and five dark themes. The Full screen icon hides the browser frame, and Esc brings it back. + Add contact opens the new-contact form from any screen.
The strip under the top bar tells you what is loaded and from which file. With nothing loaded, the Dashboard shows Start here.
Open All Contacts, Load files tab, or choose File & Backup, Load a contact file in the top bar. Drop your file on the box, or press Choose files. You can pick several files at once and they load as one list. Each format is read by its own reader, so an Excel sheet, a CSV and a vCard all come in correctly. Mobile numbers keep their leading zero.
If contacts are already loaded, the tool asks first. Merge into my contacts keeps everything you have, adds the new contacts, and fills a field only where yours is blank. Replace everything starts from the file, and your current contacts are kept as a dated version under History & Export, History first.
A PDF, an old .doc file or a picture cannot be read reliably in a browser. The tool says so and tells you how to convert it.
When a column name is not recognised, Check the columns opens before anything loads. Each column in your file sits next to its first value and the field it will load as. Change any that are wrong. A column set to Ignore this column is not loaded. Press Load with this mapping to go on.
Tick Always let me check the column mapping before loading under the drop box if you want to see this window every time.
The cards across the top give the state of the whole list. A card with a number above zero is a button: click it and the matching contacts open. A card at zero turns grey. Every card is explained under Every card on the dashboard.
Health by group shows where the correction work sits. Click a row to open All Contacts with that group’s addresses that need action. Domains carrying issues lists company domains with flagged addresses. Several flags on one domain usually means that company changed its mail system.
When contacts are due a confirmation, a blue line above the cards gives the count: overdue, never confirmed, and how many companies. Send sheets to these companies opens Company Confirmation with those companies already picked.
Recheck all addresses runs every check again. Tick Also check each domain’s mail server (MX) to ask public DNS whether each company domain can receive mail. That needs internet and sends domain names only.
All Contacts is the full list, with the health of every address. An address that needs a look shows the reason under its health label, and hovering over any label shows it too. What the health labels mean explains each one.
A mobile number is a call link. WA beside it opens the chat in WhatsApp. A number that looks wrong shows a ! and the reason on hover.
When an address is not safe for a bulk send, All Contacts shows an amber line above the filters: how many addresses need action. Press Show them to list only those, with the reason under each health label. Export them (.xlsx) gives the list with the reason on each row, and Copy them copies the addresses. Show all contacts brings the full list back. These contacts stay in your list, flagged. Nothing is deleted. When nothing needs action, the line is not shown.
Press Edit on any row to fix a contact. When you change the email, its health line updates as you type. The window also holds the delivery status, tags, notes, the confirmation tick and the contact’s own change history.
The Record bounces tab on All Contacts is how real failures come in. Drop the bounce messages, .eml or .msg, straight from an Outlook folder. Or paste the addresses, choose a status such as Hard Bounce, and press Match and apply. A recorded bounce is the strongest evidence the tool has, and it keeps that address out of every mailing list.
Open Manage Groups. Type a name under New group name and press Create group. Each row in the table has Open, Rename and Delete. A contact can sit in several groups. Deleting a group never deletes its contacts. A contact left with no group stays in your list as Ungrouped, and Ungrouped in the Group filter finds all of them, ready to put into a group again.
Open shows the group panel. Add people three ways:
From the panel you can copy the group’s emails, open it in Ready to Mail, export it, or add a new contact straight into it. Tick members and press Remove ticked from this group to take them out.
The Company Confirmation screen runs the yearly check with each company, in three steps:
Before anything changes, a window lists every change, company by company: confirmed, corrected, answered No, new people, rows not answered, and rows the company removed. Press Apply to write them. Then:
Every change goes into the contact's own history and Change history. Your contacts are kept as a dated version under History first, so an import can be undone by restoring that version.
Ready to Mail holds only addresses that passed every check, are not recorded as bounced, and are not on the do-not-mail list. Each address appears once, even when two contacts share it.
All Contacts is where the list is kept clean. It has seven tabs across the top, and the tab bar counts records, duplicate sets and deleted contacts.
Browser storage is not a backup. It is not encrypted, and clearing browser data wipes it. On a shared or office computer, turn Keep contacts in this browser off and save a backup instead.
File & Backup in the top bar holds the everyday saves, from any screen:
The History & Export screen holds three tabs:
The File & Backup button counts unsaved changes. After 20 unsaved changes, a reminder asks you to save.
A card with a number above zero opens the matching contacts. The counts are records, one row each, except Ready to mail, which counts unique addresses.
A browser cannot prove a mailbox exists. The tool catches addresses that are clearly wrong and flags risks. Only an Office 365 bounce proves a failure. Confirm contacts with each company at least once a year.
| Status | Means | In the mailing list |
|---|---|---|
| Not Checked | No evidence yet. The starting value. | Yes, if Low Risk |
| Delivered | Mail reached this address. A Warning address marked Delivered becomes Low Risk. | Yes, unless the address is Invalid |
| Requires Verification | You want someone to check it. | No, it becomes a Warning |
| Soft Bounce, Bounced, Hard Bounce | A delivery failure came back. | No |
| Column | Holds | Matters because |
|---|---|---|
| SL # | A running number | For your own reference. Rewritten on save. |
| Group | One or more group names, separated by a semicolon | Drives the group filter and the health by group table. |
| Company | The company name | Drives copy by company, confirmation sheets and duplicate checks. |
| Contact Person | Name, with Mr. or Ms. if you use them | Shown everywhere and used to find potential duplicates. |
| Designation | The job title | Offered as you type when you add a contact. |
| One address | checked Everything about mail health reads this column. | |
| Mobile no 1 | A mobile number | Checked for shape. Store it as text in Excel so the leading zero stays. |
| Mobile no 2 | A second number | Same as Mobile no 1. An older file with one Phone no column loads into Mobile no 1. |
| Tags | Free labels, separated by commas | Filter by them, add or remove them in bulk. |
Save working file writes your columns first, in the same order, then In format for emailing, Delivery Status, In Mailing List, Dropped Reason, Last Confirmed, Mail Server, Notes, Last Checked and Last Updated. Loading the file back restores all of it. Do not rename the headers.
Change history, saved versions, saved lists, the do-not-mail list and deleted contacts are not in the Excel file. The complete backup carries them.
Everything runs on this computer. Nothing is uploaded.