opencv preprocessing → tesseract ocr → smart parser
address · services · contacts
JPG · PNG · WEBP · BMP · or tap to browse
Upload a business card image or use the
camera to capture one, then tap Scan.
via Google Apps Script Web App
Go to sheets.new and create a blank spreadsheet. Name it anything you like (e.g. "Business Cards").
In your sheet, click Extensions → Apps Script. Delete any existing code, then paste the script below:
const SHEET_NAME = 'Cards';
function doPost(e) {
try {
const ss = SpreadsheetApp.getActiveSpreadsheet();
let sheet = ss.getSheetByName(SHEET_NAME);
// Auto-create sheet + header row on first run
if (!sheet) {
sheet = ss.insertSheet(SHEET_NAME);
const headers = [
'Timestamp','Full Name','Job Title','Company',
'Department','Tagline','Email','Phone','Mobile',
'Alt Phone','Fax','Website','Address','Pincode',
'Country','LinkedIn','Twitter','Instagram','Services'
];
sheet.getRange(1, 1, 1, headers.length).setValues([headers]);
sheet.getRange(1, 1, 1, headers.length)
.setFontWeight('bold')
.setBackground('#1a7838')
.setFontColor('#ffffff');
sheet.setFrozenRows(1);
}
const d = JSON.parse(e.postData.contents);
const row = [
new Date().toLocaleString(),
d.personName || '',
d.jobTitle || '',
d.company || '',
d.department || '',
d.tagline || '',
d.email || '',
d.phone || '',
d.mobile || '',
d.phoneAlt || '',
d.fax || '',
d.website || '',
d.address || '',
d.pincode || '',
d.country || '',
d.linkedin || '',
d.twitter || '',
d.instagram || '',
(d.services||[]).join(', ')
];
sheet.appendRow(row);
return ContentService
.createTextOutput(JSON.stringify({ status:'ok', row: sheet.getLastRow() }))
.setMimeType(ContentService.MimeType.JSON);
} catch(err) {
return ContentService
.createTextOutput(JSON.stringify({ status:'error', message: err.message }))
.setMimeType(ContentService.MimeType.JSON);
}
}
// Required for CORS preflight
function doGet(e) {
return ContentService
.createTextOutput(JSON.stringify({ status:'ready' }))
.setMimeType(ContentService.MimeType.JSON);
}
Click Deploy → New deployment. Choose type "Web app". Set Execute as → Me. Set Who has access → Anyone. Click Deploy and authorize when prompted.
Copy the Web App URL from the deployment dialog and paste it here.
Your URL is saved locally in your browser. It is never sent anywhere except to your own Google Script.