Crystal Reports to SSRS Converter
The Crystal Reports to SSRS Converter reads Crystal Reports (.rpt) files using the Crystal Reports engine and generates equivalent Report Definition Language (.rdl) files compatible with SQL Server Reporting Services (SSRS) RDL.
It supports both single file and bulk files conversion, making it ideal for large-scale report migrations by preserving layouts, data connections, parameters, charts, formulas, and other supported report elements.
Prerequisites
Before starting the installation, ensure the following:
System Requirements
- Operating System: Windows (64-bit recommended)
- Crystal Reports Runtime is required to read and process
.rptfiles (download from SAP website) - .NET SDK 4.8 (download from .NET SDK 4.8)
Important Note: Confirm that Crystal Reports Runtime is installed and accessible from the system.
Installation and run
Download Utility
- A dedicated CrystalReportToSSRSConverter.exe has been created for the converter.
- Download the Crystal report utility from this site Crystal to SSRS utility.
Installation Procedure
- Extract the ZIP file to a desired location on your machine.
<installation-directory>\CrystalReportToSSRSConverter\ - Find the CrystalReportToSSRSConverter.exe file.
Deployment Steps
Choose one of the following methods to deploy the required Crystal Reports DLL files.
Option 1: Using the Import Crystal Package Script (Recommended)
To simplify the setup process, the converter package includes an import-crystal-package.bat script that automatically copies the required Crystal Reports assemblies into the converter directory.
Steps
-
Ensure that the SAP Crystal Reports Runtime is installed on the machine.
-
Navigate to the converter installation folder:
<Converter Installation Directory>\CrystalReportToSSRSConverter -
Double-click the following file:
import-crystal-package.bat -
The script automatically:
- Detects the installed Crystal Reports assemblies.
- Copies the required
CrystalDecisions.*DLL files. - Replaces existing DLL files if they already exist in the target folder.
-
Upon successful execution, the required
CrystalDecisions.*DLL files will be copied to theCrystalReportToSSRSConverterdirectory.
Note: Depending on your system configuration, administrator privileges may be required to access the Crystal Reports installation assemblies.
Option 2: Manual DLL Copy
-
Open the converter installation directory:
C:\Windows\Microsoft.NET\assembly -
Locate the Crystal Reports assemblies from the following locations:
C:\Windows\Microsoft.NET\assembly\GAC_64 C:\Windows\Microsoft.NET\assembly\GAC_MSIL -
Copy the following DLL files:
- CrystalDecisions.CrystalReports.Engine.dll
- CrystalDecisions.ReportAppServer.ClientDoc.dll
- CrystalDecisions.ReportAppServer.Controllers.dll
- CrystalDecisions.ReportAppServer.DataDefModel.dll
- CrystalDecisions.ReportAppServer.ReportDefModel.dll
- CrystalDecisions.Shared.dll
-
Move or replace the copied DLL files in the extracted converter directory.

Run Modes
Option 1: Bulk conversion (recommended for multiple reports)
Process entire directories of reports in one go. Ideal for large-scale enterprise migrations.
- Folder-to-folder mapping
- Detailed conversion logs
- Success rate analytics
Steps
-
Prepare your input folder:
- Create a folder containing all the Crystal Reports (
.rpt) files you want to convert. - Example:
C:\Reports\Input\containingreport1.rpt,report2.rpt,report3.rpt
- Create a folder containing all the Crystal Reports (
-
Create an output folder:
- Create a destination folder where converted
.rdlfiles will be saved. - Example:
C:\Reports\Output\ - The application will create this folder if it doesn’t exist.
- Create a destination folder where converted
-
Run the converter:
- Double-click
CrystalReportToSSRSConverter.exeto launch the application. - A command window opens with prompts.
- Double-click
-
Enter conversion paths:
-
Enter the source path (folder containing
.rptfiles):C:\Reports\Input\ -
Enter the destination path (folder for converted
.rdlfiles):C:\Reports\Output\ -
Press Enter to start the conversion.
-
-
Monitor conversion progress:
- The console displays conversion status for each file.
- Success or failure messages are shown for each report.
- Conversion completes when all
.rptfiles have been processed.

Option 2: Single file conversion
Quickly convert a specific file. Best for testing and fine-tuning individual report layouts.
- Interactive CLI prompts.
- Immediate error feedback.
- Instant .rdl generation.
Steps
-
Locate your Crystal Reports file:
- Identify the
.rptfile you want to convert. - Example:
C:\Reports\SalesReport.rpt
- Identify the
-
Determine the output location:
- Decide where you want to save the converted
.rdlfile. - Example:
C:\Reports\SalesReport.rdl - The folder must exist, or you can use the default
ConvertedRdlfolder.
- Decide where you want to save the converted
-
Run the converter (interactive mode):
- Double-click
CrystalReportToSSRSConverter.exeto launch the application. - A command window opens with prompts.
- Double-click
-
Enter file paths:
-
Enter the source file path (the
.rptfile):C:\Reports\SalesReport.rpt -
Enter the destination file path (output
.rdlfile):C:\Reports\SalesReport.rdl -
Press Enter to start the conversion.
-
-
View conversion result:
- The console displays the conversion status.
- A success message indicates the
.rdlfile has been created. - A failure message shows any errors encountered during conversion.
Migration Guide
How migration works
Conversion pipeline

Supported conversions
The Crystal Reports to SSRS Converter successfully automates the conversion of the following Crystal Reports features:
Report structure
- Report Sections: Header, footer, and detail sections are converted to their exact RDL equivalents. Group headers and footers are converted into RDL group sections.
- Page Setup: Page dimensions, margins, and orientation are extracted and applied to the RDL report. A4 and default page sizes are supported.
- Section Styling: Background colors and basic styling are preserved during conversion. Section properties are mapped to RDL section styles.
Data & connections
- Data Sources (OLEDB & SQL): Supported connection types are converted and mapped to RDL data source definitions. Connection strings, server names, and database names are preserved.
- Tables & Fields: Database tables and fields are recognized and converted. Default SELECT queries are generated for table-based data sources.
- Data Sets: Crystal Reports tables are converted to RDL datasets with appropriate field definitions and query mappings.
Report objects & items
- Text Objects: Static text boxes with formatting are converted to RDL TextBox items. Font, color, size, and alignment are preserved.
- Field Objects: Data-bound fields are converted to RDL TextBox instances with database field expressions, maintaining format settings.
- Field Headings: Column header labels are converted to RDL text boxes with appropriate styling.
- Lines & Boxes: Crystal Reports line and box objects are converted to RDL Line and Rectangle with size, position, and style properties preserved.
- Blob Fields: Binary data fields (e.g., database image columns) are converted to RDL image items.
Formulas & expressions
- Formula fields: Textboxes containing basic expressions are converted to equivalent RDL expressions.
Charts & visualizations
- Chart Objects: Crystal Reports charts are converted to RDL Graph items. Supported chart types include: column, pie, doughnut, line, area, and scatter.
Advanced features
- Report Parameters: Crystal Reports parameters are converted based on type, visibility, and default values. Parameter definitions are mapped to RDL report parameters.
Layout & positioning
- Item Sizing & Position: Report object dimensions (width, height) and positions (left, top) are preserved during conversion. Measurements are converted to inches for RDL compatibility.
- Grouping: Crystal Reports grouping structures are converted to RDL group sections with data field bindings.
Conversion limitations
The converter maps Crystal Reports objects to their RDL equivalents as closely as possible. However, due to differences in the .NET model classes representing Crystal Reports objects and RDL capabilities, the following limitations apply:
Data connections & sources
- Provider Specific Connection: Provider-specific connection properties are not preserved during conversion. Only OLEDB and ODBC connections are supported.
- SQL Command Object: Crystal SQL Command objects are not preserved during conversion. The converter generates default SELECT statements for SQL data sources.
- Unsupported Datasource Provider: Datasource providers other than OLE DB and ODBC are currently not supported during conversion.
- Record Selection Formula: Crystal Reports record selection formulas are not converted to RDL dataset filters or query WHERE clauses. Manual reconfiguration of filtering logic may be required.
- Database Links: Table relationships and database links defined in Crystal Reports are not converted. Relationships must be manually recreated in the RDL datasource.
- Database Password: Database passwords are not migrated to RDL datasources for security reasons. Credentials must be reconfigured manually.
Parameters & values
- Parameter Default Value: Parameter default values are not converted to RDL and need to be configured manually.
- Parameter Range Values: Crystal Reports parameter range values and constraints are not converted to RDL parameter expressions.
- Cross Dataset Label Value: RDL does not support multiple datasets for parameter label and value pairs. Single dataset parameters are supported.
Report layout & sections
- Unsupported Paper Size: Body and page dimensions support only A4 and a default fallback size. Custom paper sizes are not converted.
- Conditional Section Suppression: Section suppression settings and suppression formulas are not converted. Section visibility must be manually configured.
- Keep Together Section: Section keep-together settings are not converted to RDL keep-together properties.
- Underlay Following Sections: Crystal Reports underlay section behavior is not supported during conversion. Page layout must be manually adjusted.
Formatting & styling
- Text Rotation: Text rotation settings (e.g., 90°, 270°) are not converted to RDL’s
WritingModeproperty. Text orientation must be manually reconfigured. - Text Formatting Formula: Conditional text formatting formulas (e.g., “If value > 100 then red”) are not automatically converted to RDL expression-based formatting.
- Hyperlink Action: Crystal Reports hyperlink formulas, drillthrough configurations, and bookmark expressions are not automatically converted to RDL
Actionproperties. - Vertical Alignment: Line objects do not support vertical alignment conversion. Manual repositioning may be required in the generated RDL report to match the original layout.
Visualizations
- Chart Formatting: Advanced Crystal Reports chart formatting and styling options are not fully converted. Default formatting is applied to converted charts.
- Unsupported Chart Type: Other than column, pie, doughnut, line, area, and scatter chart types are not supported.
- Chart Grouping: Chart-specific grouping and Top N settings are not converted. Chart grouping must be manually reconfigured.
Report objects
- Embedded Picture Data: Embedded Crystal Reports picture content is not exported and is replaced with a placeholder image. Picture URLs or data sources must be manually linked.
Sub reports
- Local Subreport Reference: Subreport conversion is supported only when the parent report and the referenced subreport are available through a local file path.
- Parent Child Location Dependency: The parent report and its associated subreports must be located in the same directory or accessible local location during conversion. If the referenced subreport cannot be found, the subreport may not be converted correctly.
Grouping & sorting
- Group Sorting Direction: Crystal Reports group sort direction and custom sort orders are not converted to RDL group expressions.
- Group Condition Formula: Formula-based group conditions and conditional grouping are not converted. Grouping logic must be manually recreated.
Beta Release Notice: The converter is currently in an early-access Beta release. It typically automates 50–60% of migration tasks. Manual validation of data, layout, and business logic is required before production deployment.