Absolutely. CleanCrumbs processes every file entirely inside your browser using a Web Worker. Your data is never uploaded to any server — this is structurally enforced by the Content Security Policy (CSP), which blocks all outbound data connections.
You can verify this yourself using your browser's DevTools Network tab.
Standard Clean sanitizes names (casing), emails (syntax, typos), phone numbers (E.164 formatting), and addresses (state/province normalisation). It also detects and merges duplicates.
HubSpot Readiness (Pro) runs the standard clean plus validates HubSpot-specific fields: lifecycle_stage, hubspot_owner_id, company_domain_name, and E.164 phone format.
Salesforce NPSP (Pro) runs the standard clean plus validates Salesforce Nonprofit Success Pack fields: Last Name, record_type, donation amounts, and household mailing addresses.
CleanCrumbs supports CSV (.csv) and Excel (.xlsx) files. After processing, you can export cleaned data as CSV, XLSX, or a plain-text summary report.
Yes. CleanCrumbs is a Progressive Web App (PWA) that works offline after your first visit. All processing happens locally — no internet connection is needed to sanitize files.
Pro Lifetime includes a 30-day offline grace period. Pro Monthly includes a 7-day offline grace period.
Both Pro options unlock identical features: unlimited rows per month and per file, files up to 500 MB, HubSpot Readiness and Salesforce NPSP scans, and Audit & Segment mode.
Pricing options are $7.99/month (cancel anytime) or $29 one-time for lifetime access.
Both include a 30-day money-back guarantee.
We offer a 30-day no-questions-asked refund. After 30 days, refunds are available for major failures under Australian Consumer Law. See our Refund Policy for details.
CleanCrumbs has two free tiers. Without an account, you can process files up to 3,000 rows per file — unlimited files, no monthly cap. Sign up for a free account to unlock 30,000 rows per calendar month (10× more). The monthly quota resets on the 1st of each month. Files up to 10 MB are supported in both free tiers. HubSpot and Salesforce scans require Pro.
If you are on the Free signed-in plan, yes — 25,000 rows is within the 30,000 monthly quota.
If you are anonymous (not signed in), no — anonymous usage is limited to 3,000 rows per file.
Deduplication is email-first and case-insensitive. Rows are matched across email columns, and Gmail dot variants (like john.doe@gmail.com and johndoe@gmail.com) are treated as the same address.
If a row has no email, CleanCrumbs can fall back to E.164 phone matching.
When duplicates are merged, the more complete row is kept and missing fields are filled from the other row.
Try this quick sequence:
No. Anonymous usage has a per-file limit (3,000 rows per file), not a monthly quota.
The 30,000 monthly quota applies only to signed-in free accounts.
CleanCrumbs exports cleaned data as CSV or XLSX, which are the universal import formats for virtually every CRM — including HubSpot, Salesforce, Zoho, Pipedrive, and Microsoft Dynamics. The HubSpot Readiness and Salesforce NPSP scans (Pro) validate CRM-specific fields before you import.
Use Salesforce NPSP scan before import. It runs the standard cleaning pipeline, then validates common NPSP import requirements.
Household or Organization.For best results, keep phone values parseable to E.164 format and export as CSV or XLSX for import into Salesforce.
No. All processing is rule-based and runs entirely inside your browser — no AI models, no cloud calls, no external APIs are involved in sanitizing your data.
Column detection uses regex intent matching, phone parsing uses the open-source libphonenumber-js library, and email validation uses pattern rules and a known-domain typo list. This keeps processing fast, private, and fully offline-capable.
No. CleanCrumbs uses intent-based column detection — any header containing a recognised keyword is matched, regardless of casing, separators, or surrounding words. For example:
Work Email, email_address, CONTACT_EMAILContact First Name, FIRST_NAME, given namePhone Number, mobile_phone, Work TelMailing State, billing_state, State/ProvinceColumns that contain none of the recognised keywords are passed through unchanged.