Export limits
Summarize
Summary of Export limits
The ServiceNow platform enforces default upper limits on data exports to prevent performance degradation when exporting large datasets. These limits vary by export format and can be configured using system properties. If you need to export more records than the set threshold, it is recommended to break the export into smaller, manageable chunks.
Show less
Export limit properties
Export limits are controlled primarily by format-specific properties. If a format-specific limit is not set, a general export limit applies. If neither is set, the system default applies. These properties can be adjusted under System Properties > Import Export.
Key properties include:
- Format-specific export limits: Define max records per export per format (XML, CSV, Excel, PDF, JSON).
- General export limit: Applies if no format-specific limit is set.
- Warning threshold property (glide.ui.export.warn.threshold): Triggers a dialog to choose between waiting for export completion or receiving the export via email when the record count exceeds this value.
Default export limits by format
- XML, CSV, Excel (XLSX/XLS), JSON: 10,000 records
- Excel cell count limit: 500,000 cells per export (customizable)
- PDF: Up to 250 detail pages, 1,000 rows (default), with maximums of 250 pages and 5,000 rows
- PDF columns: Maximum of 25 header columns per page
Practical examples
- Exporting 30,000 CSV records with a 20,000 CSV export limit returns 20,000 records maximum.
- Exporting 30,000 Excel (XLSX) records without a set property returns 10,000 records (default limit).
- Exporting 5,000 PDF records with a 1,000 default max rows returns only 1,000 records.
Excel export considerations
Excel exports are suitable for datasets with fewer than 500,000 cells. If this limit is exceeded, the export stops and a partial Excel file is delivered with a message advising to use CSV for complete exports. The cell limit is adjustable but increasing it may cause memory issues in your instance. Each Excel spreadsheet contains up to 32,000 rows.
Recommendations for ServiceNow customers
- Review and adjust export limit properties carefully to balance performance and export requirements.
- For large data exports, break the exports into smaller chunks or use CSV format for very large datasets.
- Monitor warning threshold dialogs and configure email export options accordingly, ensuring attachment size limits are respected.
- Be cautious increasing Excel cell export limits to avoid potential memory and performance issues.
The platform provides a default upper limit for data exports.
The purpose of the upper limit is to avoid creating performance issues when a table is excessively large. If you must export more records than the threshold permits, Break up a large export into separate manageable chunks.
Export limit properties
You can set the number of records to return during an export using the sysparm_record_count URL parameter.
- First, the platform checks the property that defines the format-specific export limit. Each format can have a different limit. Although this property can be set to any value, exceeding the default export limit can impact system performance. You may want to set the property at or below the default limit and have users Break up a large export to export large amounts of data.
- If the format-specific property is not set, the system checks the property for the general export limit. This property can also be set to any value, but exceeding the default export limit can impact system performance.
- If both the format-specific export limit and the general export limit property aren't set, the system enforces the default export limit.
| Format | Format-specific export limit | General export limit | Default export limit |
|---|---|---|---|
| XML | glide.xml.export.limit | glide.ui.export.limit | 10,000 |
| CSV | glide.csv.export.limit | glide.ui.export.limit | 10,000 |
| EXCEL (XLSX) | glide.xlsx.export.limit | glide.ui.export.limit | 10,000 |
| EXCEL (XLS) | glide.excel.export.limit | glide.ui.export.limit | 10,000 |
| EXCEL (XLSX) | glide.xlsx.max_cells | N/A | 500,000 |
| EXCEL (XLS) | glide.excel.max_cells | N/A | 500,000 |
| glide.pdf.max_detail_pages Note: The number of rows can be set from 0 to 250. If no
value is specified, the default is 250. If a value greater than 250 is specified, the
default value of 250 is used. |
250 | 250 | |
| glide.pdf.max_rows Note: The number of rows can be set from 0 to 5,000. If no value is
specified, the default is 1,000. If a value greater than 5,000 is specified, the default
value of 1,000 is used. |
N/A | 1,000 | |
| glide.pdf.max_columns Note: Only 25 header labels fit on a page. |
N/A | 25 | |
| JSON | glide.json.export.limit | glide.ui.export.limit | 10,000 |
A warning threshold property called glide.ui.export.warn.threshold controls how the records are exported. When you export enough records from a list to exceed the threshold, a choice dialog appears. You can choose to wait for the export to complete or email the exported records as an attachment. The warning threshold can be changed in the system property. The email attachment must not exceed the maximum Email size limits.
| Example | Property | Breaking export limits |
|---|---|---|
| Exporting to CSV |
|
If you export 30,000 records, the number of records returned from the database is 20,000. The number of records specified for export exceeds the value set in the glide.csv.export.limit property. |
| Exporting to Excel (XLSX) |
|
If you export 30,000 records, the number of records returned from the database is 10,000. The number of records specified for export exceeds the default export limit for Excel. |
| Exporting to PDF |
|
If you export 5,000 records, the number of records returned from the database is 1,000. The number of records returned is limited because the number of records specified for export exceeds the default value in the glide.pdf.max_rows property. |
Excel export threshold
Excel exports are intended for relatively small exports with fewer than 500,000 cells. CSV can handle larger exports.
If an exported spreadsheet has more than 500,000 cells, the export process stops. You receive the Excel file at that point. The following message displays in the bottom row: Export stopped due to excessive size. Use CSV for a complete export.
The export puts the information into the Excel document with 32,000 rows per spreadsheet.