Contact Converter
A simple web application (with a desktop build) to convert sheet/CSV contact data into import-ready contacts. Import from Google Sheets or CSV files and export as CSV (Google Contacts format) or VCF (vCard).
🌐 Live Demo
Access the web version at: Contact Converter
✨ Features
- Import from Google Sheets (published-to-web) or local CSV
- Export formats:
- CSV (Google Contacts compatible)
- VCF (vCard)
- Optional name prefix
- Column selection by letter (e.g. A for name, B for phone)
- Desktop version (packaged Python app)
🧩 Tech Stack
- Backend: Flask (Python)
- Frontend: Plain HTML / CSS / JavaScript
- Data: CSV parsing, vCard generation
- Packaging: PyInstaller (desktop release)
📝 How to Use
- Choose input method (Google Sheet URL or upload CSV)
- (Optional) Add a name prefix
- Specify column letters:
- Name column (e.g. A)
- Phone column (e.g. B)
- Select output format (CSV or VCF)
- Click Convert and download the file
🖥️ Desktop Version
Download the latest desktop release from the repo Releases section.
🛠️ Run Locally
# Clone the repository
git clone https://github.com/abduelmorsi/sheets-to-contacts-converter.git
cd sheets-to-contacts-converter
# (Optional) create virtual environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\\Scripts\\activate
# Install dependencies
pip install -r requirements.txt
# Start Flask app
python app.py
The app will typically run on http://127.0.0.1:5000/
📦 Build Desktop (Example)
pip install pyinstaller
pyinstaller --onefile app.py
# Binary appears in dist/ (platform dependent)
📄 License
MIT licensed. See LICENSE in the source repository.
🚀 Future Ideas
- Multiple phone columns support
- Email & organization field mapping
- Bulk vCard packaging as zip
- Simple field auto-detection