How to Convert QuantStudio RDML Files to Excel for Analysis
The fastest way to get your QuantStudio RDML data into Excel: open the RDML file in the RDML-LinRegPCR tool or the R package RDML, export as CSV, and open in Excel. If you just want the Ct values and sample names without the amplification curve data, you're often better off exporting directly from QuantStudio Design & Analysis Software as a .xlsx — hit Export → Results, and you'll get a spreadsheet with well positions, sample names, target names, Ct values, and baseline settings. The RDML route matters when you need the raw fluorescence data or when you're working on a machine you don't have local software access to.
That said, RDML files carry more information than the standard QuantStudio Excel export, and understanding what's in them (and what gets lost in conversion) will save you from silently dropping data or misassigning wells. Here's how to do it properly, depending on your comfort level with different tools.
What's Actually Inside an RDML File
RDML (Real-time PCR Data Markup Language) is an XML-based format standardized by the RDML consortium (Lefever et al., 2009). When your QuantStudio 3, 5, 6, or 7 generates an .rdml file, it bundles together:
- Raw fluorescence readings for every cycle of every well (the amplification curves)
- Sample and target definitions — which wells contain which samples and which primer/probe sets
- Experiment metadata — thermal cycling protocol, instrument serial number, passive reference dye
- Analysis settings — baseline range, threshold value, and the calculated Cq/Ct for each well
- Melt curve data if you ran a dissociation step (SYBR/intercalator chemistries)
A standard QuantStudio .eds file contains all of this too, but .eds is a proprietary format that only opens in Thermo Fisher's software. RDML is the open-format equivalent. The catch: QuantStudio software versions handle RDML export inconsistently. Older versions (pre-v2.6) sometimes export RDML v1.1 files that are missing melt curve data. Check your software version before assuming everything transferred.
When you "convert to Excel," you need to decide which of these layers you actually want. Most people want a simple table: Well, Sample Name, Target, Ct, Ct Mean, Ct SD. Some people want the full amplification curve (fluorescence vs. cycle number) for reanalysis or for calculating efficiency via linear regression. These are different exports.
Method 1: Direct Export from QuantStudio Software (Skip RDML Entirely)
If you have the QuantStudio Design & Analysis desktop software (v2.6+) or access to the Thermo Fisher Connect cloud platform, this is the path of least resistance:
- Open your
.edsfile in QuantStudio Design & Analysis Software. - Go to the Results tab and verify your Ct values look correct (check baselines, threshold position).
- Click Export (top menu) → select Export Type: Results → choose
.xlsxformat. - Pick which data to include: Results, Amplification Data, Melt Curve Data, and/or Raw Data.
- Each selection becomes a separate sheet in the Excel workbook.
The Results sheet gives you one row per well-target combination with columns for Well Position, Sample Name, Target Name, Task (Unknown/Standard/NTC), Reporter, Quencher, Ct, Ct Mean, Ct SD, Quantity (if you ran a standard curve), and automatic/manual threshold flags.
Gotcha: QuantStudio exports Ct as "Undetermined" (a text string) for wells with no amplification. When you open this in Excel and try to calculate ΔCt, those cells will break your formulas. Find-and-replace "Undetermined" with blank cells or a high dummy value (40 or 45, depending on your convention) before doing math.
Second gotcha: If you used the QuantStudio cloud app, the exported Excel file sometimes reorders wells alphanumerically (A1, A10, A11... instead of A1, A2, A3...). Sort by well position as a number, not as text.
Method 2: RDML to Excel via Free Online Tools
When you only have the .rdml file — common when a collaborator sends you data, or when you're pulling files off a shared drive connected to a core facility instrument — you need a dedicated RDML reader.
RDML-Tools (gear-genomics.com/rdml-tools/): This browser-based suite lets you upload an RDML file and view experiments, samples, targets, and amplification curves interactively. You can export tables as CSV (which opens directly in Excel). It also runs LinRegPCR analysis (Ruijter et al., 2009) on the raw fluorescence data to calculate individual well efficiencies — useful if you don't trust the instrument's automatic baseline and threshold calls. The export gives you well ID, sample, target, Cq, individual efficiency, and curve fit parameters.
Steps:
- Go to gear-genomics.com/rdml-tools/ and select "RDML-Edit" or "RDML-LinRegPCR."
- Upload your
.rdmlfile. - Browse the experiments — verify sample names and targets look right.
- For a simple Ct table: use the RunView, then download the results table as CSV.
- For re-analyzed data with per-well efficiency: run LinRegPCR, then download.
- Open the CSV in Excel. Done.
Limitation: Files over ~50 MB (384-well plates with melt curves and raw data) can time out in the browser. For large files, use the desktop or scripted approaches below.
Method 3: Python or R for Batch Conversion
If you're processing more than a handful of files — say, a time-course experiment across six plates — scripting the conversion is worth the setup time.
In R:
The RDML package (Rödiger et al., 2017) reads RDML files natively:
library(RDML)
rdml_data <- RDML$new("your_file.rdml")
# Extract the fluorescence data as a data frame
fdata <- rdml_data$GetFData(
dp.type = "adp", # amplification data points
long.table = TRUE
)
# Extract Cq values
cq_table <- rdml_data$AsTable()
# Write to Excel
library(writexl)
write_xlsx(list(Cq = cq_table, Curves = fdata), "output.xlsx")
The AsTable() method gives you one row per well-target with columns for sample name, target, Cq, and well position. The GetFData() call gives you the full cycle-by-cycle fluorescence, which you can put on a second Excel sheet.
In Python:
The python-rdml package handles this:
import rdml
from openpyxl import Workbook
rd = rdml.Rdml("your_file.rdml")
wb = Workbook()
ws = wb.active
ws.title = "Cq_Values"
ws.append(["Well", "Sample", "Target", "Cq"])
for experiment in rd.experiments():
for run in experiment.runs():
for react in run.reacts():
well = react.id()
for data in react.datas():
target = data.tar()
sample = react.sample()
cq = data.cq()
ws.append([well, sample, target, cq])
wb.save("output.xlsx")
You can extend either script to loop over a directory of RDML files and combine them into a single workbook with one sheet per plate. This is particularly handy for longitudinal experiments where you need plate-to-plate consistency checks (inter-run calibrators, reference gene Ct stability).
Common Problems After Conversion
Missing Ct values: Some RDML files store Cq values only if the original software performed the analysis. If the file was exported before hitting "Analyze" in QuantStudio, the Cq fields may be empty. In that case, you'll need to run the analysis yourself — LinRegPCR through the RDML-Tools website is the easiest option, or set a manual threshold in R using the fluorescence curves.
Sample name mismatches: QuantStudio lets you name samples in the plate setup, but if someone set up the plate in a hurry and left wells as "Sample1, Sample2..." you'll get those meaningless labels in your export. There's no fixing this computationally — you need the original plate map. I keep a photo of the plate layout notebook page alongside every RDML file for exactly this reason.
Efficiency and threshold discrepancies: The Ct value in an RDML file depends on the threshold and baseline settings used during analysis. If you re-analyze the same raw data in LinRegPCR vs. QuantStudio's auto-threshold, you'll get slightly different Cq values (typically within 0.2–0.5 Ct). This is expected and fine, but pick one method and stick with it for the entire dataset. Mixing analysis methods across plates in the same experiment will introduce systematic bias.
RDML version mismatches: RDML v1.1, v1.2, v1.3, and v1.4 exist. QuantStudio typically exports v1.3 or v1.4. Older tools may not read v1.4 files. The RDML-Tools website handles all versions. The R RDML package handles v1.1–v1.4 as of its current release.
When You Have the Excel File, Then What
Getting data into Excel is step one. The actual analysis — calculating ΔCt, ΔΔCt, propagating error correctly, checking reference gene stability, flagging outlier replicates — is where most mistakes happen. If you're doing ΔΔCt by hand in Excel, you need to calculate the standard deviation of ΔCt using the formula SD_ΔCt = √(SD_GOI² + SD_REF²), then convert to fold change with 2^(-ΔΔCt) and express error as 2^(-(ΔΔCt ± SD)) to get asymmetric error bars. It's doable but tedious and error-prone across dozens of genes.
VoilaPCR reads both RDML files and Excel exports directly — upload either format and it handles the ΔΔCt calculations, replicate QC, reference gene normalization, and statistical comparisons without the spreadsheet gymnastics. Worth a look if you're tired of debugging VLOOKUP chains at 11 PM.