What's inside a CRM database, and which limits will you hit when you move your data in?
Summary
A CRM database stores each kind of thing you track, such as contacts, companies, deals, and tickets, as an object, with one record per person, company, or deal, fields called properties on each record, and associations linking records to each other. The limits you run into during a move are file size, row counts, and storage. HubSpot's free tools accept import files up to 20 MB, paid accounts up to 512 MB and 1,048,576 rows per file, and most Salesforce editions get 10 GB of data storage per org plus 20 MB per user.
The four building blocks
HubSpot's help center describes its CRM in terms of objects, records, and properties. Objects are the types of information: contacts, companies, deals, tickets. A record is one instance, such as a single contact. Properties are the fields on a record, like email address, industry, or deal amount. Associations connect records across objects.
HubSpot's own example is a contact named John Doe, linked to his company's record, with deals and tickets associated to both. Calls, meetings, emails, tasks, and notes hang off those records as activity. Most objects let you add custom properties alongside the default ones, and labeled associations (marking someone as the billing contact, say) are limited to Professional and Enterprise.
Salesforce adds a step at the front. A prospect lives as a lead until it is converted, and conversion maps the standard lead fields onto a new account, contact, and, if you choose, opportunity. When you plan a migration, each column in your old spreadsheet has to land on one of these objects.
Import limits in HubSpot
Every HubSpot import file must be .csv, .xlsx, or .xls, contain a single sheet, and have fewer than 1,000 columns. Beyond that, the limits depend on your account:
- Free tools: files up to 20 MB, up to 50 imports and 500,000 rows per day.
- Smart CRM, Starter, Professional, or Enterprise: files up to 512 MB, up to 500 imports and 10,000,000 rows per day, and no more than 1,048,576 rows in one file.
- Everyone: up to three imports at once, and only two of those can be larger than 10,000 rows.
The daily limits run on a rolling 24-hour window, not a calendar day. A 600,000-row customer list imported into a free account will take two days to finish.
Storage limits in Salesforce
Salesforce allocates 10 GB of data storage per org to Contact Manager, Group, Essentials, Professional, Enterprise, Performance, and Unlimited editions, then adds storage for each user license: 20 MB per user on Contact Manager, Group, Professional, and Enterprise, and 120 MB on Performance and Unlimited. Salesforce's own example is a ten-user Professional org with 10.2 GB in total; a 30-user Enterprise org would have 10.6 GB.
Accounts, contacts, leads, and opportunities all draw on that allowance. A person account counts twice, once as an account and once as a contact. Products, price books, and assets don't count. File storage is a separate pool of 10 GB per org on most editions and 1 GB on Essentials and Starter.
Sources
- https://knowledge.hubspot.com/get-started/manage-your-crm-database
- https://knowledge.hubspot.com/import-and-export/set-up-your-import-file
- https://help.salesforce.com/s/articleView?id=xcloud.admin_monitorresources.htm&language=en_US&type=5
- https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/langCon_apex_dml_examples_convertlead.htm
Related on this site
- What does a CRM do that a contact spreadsheet can't?
- How do I move customer data from a spreadsheet or an old CRM into a new CRM?
- Why does a CRM fill up with duplicate records and unused seats, and how do you clean that up?
- What the seat price leaves out
Written by Kaz (pen name). Published September 27, 2026. The figures above come from the vendor and review-site pages listed under Sources. We have not used these products. Corrections: contact form.