The complete feature list
Everything TrollFit can do and every setting you can change, in one place. Last updated: 14 October 2026
TrollFit is a curve-fitting and data-analysis tool for experimental data that runs in the web browser. You paste or open your measurements, choose a model, and get every parameter with its uncertainty, a check of the fit, and a figure ready for a paper, thesis or slide. There is no code to write and nothing to install. Your data stay on your computer.
- 14 models + any custom equation
- σx and σy weighted fits, ODR
- 95 % bands confidence and prediction
- 4 export formats SVG · PDF · PNG · TIFF
- 5 datasets in one chart, global fits
- 0 installs runs in any modern browser
1 · Getting data in
- Type or paste a table. Paste straight from Excel, LibreOffice, Google Sheets or a text file. Columns can be separated by tabs, spaces, commas or semicolons.
- Decimal comma. European numbers like
2,5are read correctly, as is scientific notation (1.6e-19). - Open files: .csv, .txt, .tsv, .dat, .xlsx, .xlsm, .ods, and instrument formats .xy, .xye, .asc, .prn, .chi and .dpt (XRD, Raman, FTIR, spectrometers).
- Instrument headers skipped. Metadata lines before the numbers are detected and ignored, and you are told how many lines were skipped.
- Drag and drop a data file onto the chart, or paste an image of a graph to digitize it.
- Import wizard for files with many columns. Pick which column is x, y, σy and σx.
- Up to 5 datasets at once, each with its own table, colour, model, fit and settings, all drawn in one chart.
- Exclude points without deleting them. Untick a row and it stays visible as a hollow point but is ignored by the fit.
- Select a range on the chart. Drag a rectangle to fit only the points inside.
- Transform data with a formula. Compute new x or y from x, y and σy (e.g.
ln(y),1/x, unit conversion). The uncertainties are propagated. The result can replace the data or become a new dataset, and there are presets for common transforms. - Swap x ↔ y, including axis titles and uncertainties.
- Large datasets. Tables with many thousands of rows stay fast (a virtualised table, lighter chart drawing above 4000 points).
- Save data of a dataset as a tab-separated text file.
- Built-in examples: calibration line, radioactive decay with Poisson errors, two overlapping spectral peaks, enzyme kinetics, a bacterial growth curve and a daily temperature cycle.
2 · Fit models
All models are fitted by least squares with proper statistics. Linear models are solved exactly (QR decomposition). Non-linear models use Levenberg–Marquardt with automatic starting values and several starts, so you never have to guess initial parameters.
| Model | Equation | Typical use |
|---|---|---|
| Linear | y = a·x + b | Calibration lines, proportional laws |
| Quadratic | y = a·x² + b·x + c | Projectile motion, curved trends |
| Polynomial | y = a₀ + a₁x + … + aₙxⁿ, degree 1–8 | Empirical smooth trends |
| Exponential | y = a·e^(b·x) | Decay, growth, discharge (a true non-linear fit, not a log-linear shortcut) |
| Logarithmic | y = a·ln(x) + b | Fast rise that levels off |
| Power | y = a·x^b | Scaling laws, allometry, Kepler |
| Rational | y = (a·x + b)/(c·x + 1) | Saturation, Langmuir isotherm |
| Sigmoid (logistic) | y = y₀ + A/(1 + e^(−k(x − x₀))) | Dose–response, titration, population growth |
| Michaelis–Menten | y = Vmax·x/(Km + x) | Enzyme kinetics, binding |
| Gauss | A·exp(−(x−μ)²/2σ²) + background | Peaks: position, width, FWHM |
| 2× Gauss, 3× Gauss | sum of 2 or 3 Gaussians + background | Overlapping peaks, doublets |
| Lorentz | A·γ²/((x−x₀)² + γ²) + background | Spectral lines, resonances |
| Fourier series | a₀ + Σ [aₖ cos(kωx) + bₖ sin(kωx)] | Periodic signals; period and number of harmonics found automatically |
| Custom equation | any formula in x, e.g. A*exp(-x/tau)*cos(w*x)+c | Anything else. Every unknown name becomes a fitted parameter |
- Custom equations support the usual functions (exp, ln, log, sqrt, sin, cos, tan, abs, powers…), a live typeset preview, optional starting values and a personal equation library for formulas you reuse.
- Fourier options: automatic number of harmonics (BIC criterion) or a fixed number, an automatically found or fixed period (e.g. 24 h), and a periodogram showing how well each candidate period fits.
- Polynomial degree is set with a stepper. Compare models helps you choose the lowest degree that works.
3 · Fitting options
- Weighted fits with σy. Give each point its uncertainty, either absolute or as a percentage of |y|, the way instrument datasheets state accuracy. Fill one value for all rows with a single click.
- σy as true uncertainties or as relative weights. As true standard deviations they set the parameter errors directly. As relative weights the errors are rescaled by the actual scatter (χ²/dof).
- Errors in x and y — orthogonal distance regression (ODR). With σx and σy every point may shift in both directions, the same method as scipy.odr. An empty σx means that x is exact.
- Parameter limits. Fix any parameter at a known value (e.g. a line through the origin, b = 0) or keep it between a minimum and a maximum. This is solved as a true constrained fit, not by clipping.
- Global fit of up to 5 datasets with one model. Choose which parameters are shared (e.g. a common decay rate) and which are individual. A statistical test tells you whether sharing is justified.
- Compare models. Every model is fitted to your data and ranked by AICc with Akaike weights, so a better fit is rewarded and extra parameters are penalised. Pick the winner with one click.
- Re-fits automatically when you edit, tick or untick data.
- Scale-invariant numerics. Data in SI units (10⁻⁹ m, 10¹² Hz) are fitted as reliably as numbers around 1.
4 · Uncertainties and statistics
- Every parameter with its standard uncertainty, rounded to meaningful digits (e.g.
b = −0.0540 ± 0.0011). - Goodness of fit: R², χ²/dof with degrees of freedom when uncertainties are given, and the number of points used.
- Derived quantities, for example FWHM of peaks, with uncertainties.
- Parameter correlation matrix as a colour map. It warns when two parameters compensate each other.
- 95 % confidence band: where the true curve lies.
- 95 % prediction band: where a new single measurement will fall.
- Covariance-aware error propagation for bands, predictions, integrals and derivatives (delta method).
- Verified against SciPy. The numerical core is tested against scipy.optimize, scipy.odr and statsmodels reference results.
5 · Checking the fit
- Automatic fit check after every fit, in plain language.
- Outliers. Points that are unusually far from the curve are flagged and ringed in the chart, using externally studentized residuals with a Bonferroni-corrected limit. You can exclude them with one click and bring them back any time.
- Randomness of residuals: a runs test that spots systematic patterns, meaning the model is missing something.
- Normality of residuals: the Anderson–Darling test.
- Correlation warnings for parameters that cannot be pinned down independently.
- Residual plot showing raw residuals (y − f) or normalized residuals ((y − f)/σ).
6 · Peaks and spectra
- Gauss, double Gauss, triple Gauss and Lorentz peak models with automatic peak finding for the starting values.
- Background under the peaks: constant (c) or sloped (c + m·x) for tilted spectra. The fitted background is drawn as a dashed line under the fit.
- Subtract the background. One click creates a new dataset with the background removed, with uncertainties carried over.
- Position, width, FWHM and amplitude of each peak with uncertainties.
7 · Working with fitted curves
- Evaluate fit, x → y. The value of the fitted curve at any x, with uncertainty and a 95 % interval.
- Inverse prediction, y → x. Every x where the curve reaches a measured y₀, which is what calibration curves need. The uncertainty of y₀ itself can be included. Several values can be evaluated at once and copied as a table.
- Integral of a fitted curve between two limits, with uncertainty, shaded in the chart.
- Derivative: the slope at any point, drawn as a tangent.
- Combine fits: the sum, difference or product of two fitted curves, drawn as a new curve.
8 · The interactive chart
- Chart types per dataset: points, line, area or bars. Pie chart for one dataset. Text labels in x make a category chart.
- Point styles: circle, triangle, inverted triangle, square or diamond, with any size and colour.
- Logarithmic x and/or y axes. Points that cannot be shown on a log axis are reported, not faked.
- Axis ranges typed in, zoom and pan sliders, mouse-wheel zoom, and a double-click on an axis to set its range, title and log scale on the spot.
- Axis titles per dataset or shared by all.
- Error bars for σy and σx.
- Click a point to jump to its row in the table. Hide or show any series from the legend.
- Light and dark theme.
9 · Graph digitizer
- Read data from a picture of a graph: a screenshot, a scan of an old paper or a figure from a PDF. Load, paste (Ctrl+V) or drop the image.
- Axis calibration with four clicks. Linear or logarithmic axes. Slightly rotated or skewed scans are handled.
- Click points with snapping. The click lands in the centre of the marker or line, more precisely than a hand. Points can be dragged and removed.
- Find similar markers. Click one marker and all markers of the same shape are found and centred. This works on black-and-white scans, and grid lines and text are ignored.
- Trace a curve across grid lines, dashes and markers, then sample it into as many evenly spaced points as you like.
- Accuracy: about 0.2 % of the axis range for snapped points and under 0.6 % for traced curves, measured on artificially aged scans.
10 · Figure export studio
A separate studio with a live paper preview turns any chart into a publication figure. What you see is exactly what is saved.
Formats
- SVG vector file for Word, LaTeX, Inkscape and Illustrator, with fonts and equations embedded.
- PDF vector file with embedded TrueType fonts, as journals require.
- PNG at 150, 300, 600 or 1200 dpi, optionally with a transparent background.
- TIFF (LZW-compressed) for journals that ask for TIFF.
- Copy to clipboard as an image. CSV of the plotted points or of the fitted curve.
- Custom file name.
Size and layout
- Exact physical size in cm or inches. The size can apply to the whole figure (the file is exactly that big) or to the plot area only.
- Presets: journal 1 column (8.5 cm), 1.5 columns (11.4 cm), 2 columns (17.4 cm), thesis or report (15 × 10 cm), slide 16:9, poster and square. Text, line and marker sizes scale to suit each preset.
- Aspect ratio lock with 1:1, 4:3, 3:2, golden ratio and 16:9.
- Residual panel below the chart, with adjustable height, raw or normalized residuals, error bars and its own range.
- Heading and panel label such as “(a)” for multi-panel figures, placed outside the corner or inside the plot.
- Drag anything in the preview: axis titles, legend, fit box, heading, labels and annotations. You can also type exact positions.
Style
- Themes: TrollFit (the style of the TrollFit manual, the default), Classic, Journal, LaTeX, Minimal, Grid, Presentation and Dark slide.
- Fonts: Inter, Sora, Arial/Helvetica, LaTeX (Computer Modern), Times New Roman, Calibri, Georgia and Fira Code, with a separate font for tick numbers.
- Colour palettes: TrollFit, colour-blind safe (Okabe–Ito), Muted, Viridis, Deep, greyscale and black only. One click can also vary marker shapes or line styles between datasets for black-and-white print.
- Per dataset: marker shape, size, fill (filled, hollow or white), edge width, opacity, colour, fit line colour, width and style (solid, dashed, dotted), fit drawn over the data range or the whole axis, fit above or below the points, band fill opacity and edge style, and error bar width and caps.
- Equations in labels. Axis titles, legend entries and annotations can be typeset as LaTeX math, with a visual equation editor for fractions, powers, indices and Greek letters.
- My styles: save your own look and apply it to any future figure.
- Undo and redo inside the studio.
Axes
- Frame: box, L-shape or none. Ticks inside, outside, crossing or none, optionally mirrored on the opposite side. Axis arrows. Axis colour and width.
- Major ticks set automatically, by count or by step. Minor ticks automatic, off, or 2, 4, 5 or 10 per interval.
- Tick labels: automatic, fixed decimals, scientific, a common factor ×10ⁿ or plain numbers. Decimal comma, a true minus sign and custom label colour are available.
- Grid: none, major only, or major and minor, drawn solid, dashed or dotted. Zero lines at x = 0 and/or y = 0.
- Own ranges and log or linear scale for the figure, independent of the app. Reversed axes are possible.
Legend, results and annotations
- Legend: position in any inside corner, outside right or above, 1–4 columns, frame, shadow, background colour and opacity, and corner radius. Every entry can be renamed or hidden. An optional confidence-band entry is available.
- Fit-result box with the equation, parameters ± uncertainties, R², χ²/dof and n. Each of these can be switched on or off.
- Annotations: text, text with an arrow pointing to a data point, horizontal and vertical reference lines with labels, and shaded x or y ranges.
11 · Sharing results
- Copy results as plain text, as LaTeX (equation and parameter table) or as a table that pastes cleanly into Excel.
- One SVG with all datasets from the chart toolbar, without opening the studio.
- Ready-made citation text and BibTeX for theses and papers (how to cite).
12 · Projects and workflow
- Project files (.json) save everything: all datasets, fits, tools and export settings.
- Automatic recovery of your last session after closing the tab.
- Undo and redo for every change to data and settings (Ctrl+Z / Ctrl+Y), including “start over”.
- Animated help cards on every control, with keyboard shortcuts.
- A guided video tour and a 43-page reference manual that explains every method and formula.
13 · Privacy, platform and account
- Runs entirely in the browser. Your data and results never leave your computer, and there is no upload to any server.
- Nothing to install. It works in current Chrome, Edge, Firefox and Safari on Windows, macOS, Linux and ChromeOS, and the layout adapts to tablets and phones.
- Account without e-mail or name. You get a random account number instead; we keep only a keyed fingerprint of it. The account can be deleted any time.
- Free during the beta. The beta is by invitation for now: ask for an account number at info@trollsoftworks.com.
14 · What TrollFit does not do
So you can tell quickly whether it fits your task:
- It does not fit surfaces such as z = f(x, y) or multiple independent variables. It works with one x and one y per dataset.
- It does not do general statistics such as ANOVA, t-tests on groups or regression on categorical predictors.
- It has no scripting or batch processing of hundreds of files. It is an interactive tool.
- It shows at most 5 datasets in one chart.
- Fourier series and global fits do not use x uncertainties. They use σy only.
- It is not designed, validated or certified for safety-critical or regulated use, such as aircraft, vehicles, medical devices or structural design (see the Terms of Use).
15 · Typical questions it answers
If you are looking for a tool that can do one of these, TrollFit is built for it:
- “Free online curve fitting with parameter uncertainties, without Python or Origin.”
- “Fit a straight line with error bars in both x and y.”
- “Fit a Gaussian peak on a sloped background and subtract the background.”
- “Separate two overlapping peaks in a spectrum.”
- “Get the half-life from radioactive decay counts with Poisson errors.”
- “Michaelis–Menten fit with Vmax and Km and their uncertainties.”
- “Read the concentration of an unknown sample from a calibration curve, with uncertainty.”
- “Which model fits my data best: exponential, power law or polynomial?”
- “Fit several measurements together with a shared parameter.”
- “Extract data points from a graph in an old paper.”
- “Make a journal figure at 8.5 cm width as a vector PDF or a 600 dpi TIFF.”
- “Lab report plot with confidence band and residuals, in LaTeX style.”
Try it: the beta is free and by invitation — ask for an account number, or watch the tour on the home page.
Questions or a missing feature? Write to info@trollsoftworks.com.