An open-source design, analysis, and optimization environment for optical thin-film coatings.
TFStudio is a professional desktop application for designing and analyzing optical thin-film coatings — antireflection coatings, mirrors, beamsplitters, bandpass and edge filters, and more. It combines a rigorous, double-precision optical engine with modern refinement and synthesis algorithms and a full analysis suite, in a docked, multi-window interface.
⚠️ Status: TFStudio is independently developed software. Always verify critical designs against your own calculations and measurements before committing them to a production deposition run.
Design & evaluation
- Transfer-matrix method (TMM) for absorbing and dispersive media at oblique incidence, both s- and p-polarization
- Full-system modeling: front coating, substrate (with absorption), and back coating, including incoherent substrate multiple reflections
- Reflectance / transmittance / absorptance spectra, color, integral figures of merit
- Layer editor with simultaneous physical / optical / quarter-wave / full-wave thickness representations
Optimization & synthesis
-
Damped least-squares / Levenberg-Marquardt refinement with an analytic Jacobian
-
Additional refiners: Newton, Newton-CG, SQP, conjugate-gradient, differential evolution, simulated annealing
-
Needle optimization and gradual evolution synthesis (automatic layer insertion from scratch)
-
Structural optimization over the layer count itself
-
Flexible merit function: spectral targets, ramps, band averages, worst-case operands, thickness constraints
-
Multi-threaded via a Web Worker pool; hot kernels accelerated with WebAssembly (SIMD)
Analysis windows
-
Optical evaluation, admittance diagrams, electric-field profiles, group delay / GDD, ellipsometric parameters, color evaluation, refractive-index profile
-
Tolerance & manufacturing analysis: Monte-Carlo error analysis, layer sensitivity, inhomogeneity, roughness/scattering, systematic deviations
Materials
-
Built-in library generated from the refractiveindex.info database (CC0)
-
Sellmeier / Cauchy / tabulated dispersion; complex index with explicit conventions
-
Import of external catalogs and an in-app refractiveindex.info browser
Manufacturing
-
Deposition / monitoring simulation (broadband and monochromatic optical monitoring)
-
Process exporter and optical-coating data interchange (including Zemax OpticStudio coating export/import)
Platform
- Cross-platform desktop app (Electron + React, pure JavaScript)
- Built-in help/documentation, English and Russian UI
TFStudio implements established thin-film optics, citing primary sources:
- Transfer-matrix method — H. A. Macleod, Thin-Film Optical Filters, 5th ed.
- Numerical needle synthesis — Sullivan & Dobrowolski, Appl. Opt. 35, 5484 (1996); Tikhonravov et al., Appl. Opt. 35, 5493 (1996)
- Gradual evolution — Tikhonravov et al. (2007)
All computations use double precision. The TMM engine agrees with independent reference calculations to within single-digit parts-per-million for validated test cases.
Grab the latest installer or portable build from the Releases page.
Want to try it first? Run the live web demo — example designs and live spectra, right in the browser, no install.
Requires Node.js 18+ and git.
git clone https://github.com/aai2k/TFStudio.git
cd TFStudio
npm install
# (optional but highly recommended) rebuild the WebAssembly kernel — requires the Emscripten SDK:
npm run build:wasm
npm start # launch the appnpm run build checks out the refractiveindex.info database submodule and installs
the docs-site dependencies automatically. The database is large; to pull it upfront
instead of on first build, clone with --recursive.
Other useful scripts:
npm test # run the test suite
npm run docs:install # install docs-site deps (needed before docs:dev)
npm run docs:dev # preview the documentation site
npm run build # package a distributable (electron-builder)One-click install can be tried via build-release.ps1 script.
User documentation is hosted at docs.tfstudio.xyz, is built into the app (Help menu), and its source lives in docs-site/.
If TFStudio contributes to your work, please cite it. Citation metadata is in CITATION.cff; GitHub renders a "Cite this repository" button from it.
Issues and pull requests are welcome. Because TFStudio is a scientific tool, contributions to the optical engine are held to a physics-correctness bar (cite your sources, validate against a reference, add a test). Please read CONTRIBUTING.md before opening a pull request.
By contributing you agree that your contributions are licensed under the project's MIT license.
MIT © 2026 Andrey Achapovsky
Andrey Achapovsky — ORCID 0009-0005-1497-6279
- Material data derived from the refractiveindex.info database (CC0, public domain).
- Built with Electron, React, Plotly.js, and KaTeX.