EIS Analyzer - Professional Impedance Analysis
Electrochemical impedance spectroscopy (EIS) analysis software for battery impedance testing, fuel cell diagnostics, and electrochemical R&D. Features automated circuit fitting, DRT analysis, Kramers-Kronig validation, and Batalyse Collect integration. Free for Data Analysis customers.
EIS Analyzer
Multiple File Formats & Data Sources
Import EIS data from Gamry (.DTA), Solartron (.z), Bio-Logic (.mpr), PalmSens (.pssession), or text formats (.txt, .dat, .csv, .mpt). Connect directly to MySQL/SQL Server databases or Batalyse Collect cloud platform.
One-Click Automated Analysis
Run DRT analysis, circuit fitting, validation, and predictions simultaneously with the auto-analysis pipeline. Export results as JSON, CSV, or PNG – or upload directly to Collect with KPI tables.
Customization
Customize every aspect of your graph exports with the dedicated Customize Graphs tab. Set per-file dataset styling including colors, markers, and line widths. Configure font settings with bold and italic options for titles, axis labels, and legends. Control axis scaling, gridlines, and select which plots to generate. Save and share your styling presets via JSON export/import.
Kramers-Kronig Validation
Verify the quality of your EIS measurements with Kramers-Kronig transformation. Detect drift, noise, or non-linear behavior in your data before analysis. The validation highlights problematic frequency ranges and helps ensure reliable circuit fitting results.
Distribution of Relaxation Times
Identify electrochemical processes and their time constants with Distribution of Relaxation Times analysis. Extended configuration options let you fine-tune regularization parameters, frequency ranges, and peak detection sensitivity. Add peaks manually by clicking directly on the DRT graph or let the algorithm auto-detect them. DRT results automatically suggest optimal equivalent circuit models for subsequent fitting.
Equivalent Circuit Modeling
Fit your EIS data to 14+ built-in equivalent circuit models including R, R-C, R-RC, R-RQ, R-RC-RC, R-RQ-RQ, Randles, and models with Warburg diffusion elements. Analyze porous electrodes with 14 Transmission Line Model (TLM) circuits including blocking, RC, CPE, Warburg, two-rail, and nested configurations. Use constrained fitting with parameter bounds, fix/free controls, and mathematical expressions. Need a custom configuration? Enter your own circuit string to define individual equivalent circuits tailored to your specific electrochemical system.
Save and manage projects
Save complete analysis sessions as projects to preserve all settings, fitted parameters, and results. Reopen projects anytime to continue your work or compare results across different measurements.
Flexible Export Options
Export your analysis results in multiple formats: JSON for programmatic access, CSV for spreadsheet analysis, PNG for publication-ready graphs, or editable OriginLab .opju projects. Upload results directly to Batalyse Collect for centralized data management and team collaboration.
Free for Data Analysis Customers
Changelog
- Unified Initial Parameter Values and Advanced Constraints into a single table with Value, Fix, Shared, Min, Max, Expression columns
- Shared parameters now apply across ALL sweeps of ALL files (previously limited to active sweep only)
- K-K Validation: unified quality scoring — eliminates contradictory ‘Grade A + Failed’ results
- Fitting: DRT-guided initial guesses (Wan et al. 2022), half-circle C_dl estimation, multi-start TRF optimization
- Fitting tab compact plots: show all sweeps + fit history, match main Plots tab colors and legend
- Column tooltips on parameter table describe each column’s effect on fitting
- Fit Residuals header shows selected sweep name
- Auto-analysis: parameter errors no longer zeroed (uses real backend values)
- DRT: unified peak threshold 0.1 (was inconsistent 0.15 vs 0.1 between display and recommendation)
- Graph ZIP export CSP fix: dataUrlToBlob replaces fetch(data:…) blocked by Content Security Policy
- Graph ZIP export now auto-renders plots before capture (previously failed if Plots tab not visited)
- Fix R_s suggestion: UI tip with one-click button when R_s is well-determined and chi² is mediocre
- TLM CPE exponent naming: n_dl → gamma in R-TLMrq, R-TLMtrq, L-R-TLMrq, R-TLMnest (fixes missing bounds)
- Disabled button styling for btn-outline-primary/secondary (e.g., Polarization when no data)
- Error messages display for 10 seconds (was 5) so users can read them
- Advanced fitting: Method selection (TRF, LM, Nelder-Mead, Basin-Hopping, Differential Evolution)
- Advanced fitting: Weighting schemes (Proportional, Unweighted, Per-component)
- Advanced fitting: Monte Carlo uncertainty estimation
- Advanced fitting: Fix/free parameter constraints with inline checkboxes
- European decimal comma support in parameter inputs
- Failed fit error cards with settings display and recovery tips
- Fit history delete button with promote-from-history
- KPI table: Chi-squared (unweighted), Fixed Params, MC Simulations columns
- Progress timer for single fits (not just batch)
- SSE heartbeat for long-running analyses (prevents timeout)
- Improved error messages for server errors and connection loss
- UI alignment improvements in Fitting tab
- Fix: Custom circuit fitting (extract_circuit_parameters import)
- Fixed missing fit residuals graph when frequency range is filtered
- Fixed untranslated DRT recommendation (confidence, description, reasoning) on language switch
- Fixed untranslated K-K validation quality grades on language switch
- Fixed untranslated export tab badges on language switch
- Added custom circuit validation gating: Evaluate button blocked until circuit is validated
- Improved custom circuit auto-estimation of initial parameters from data
- Improved NaN-filling for partial user-provided initial guesses
- Backend DRT reasoning now returns structured i18n keys instead of English strings
Version 2.1.0
- Added 10 Transmission Line Model (TLM) elements for porous electrode analysis
- Added 14 new TLM circuit models (blocking, RC, CPE, Warburg, two-rail, nested)
- Added constrained fitting with parameter bounds, fix/free, and expressions (lmfit)
- Added batch fitting with shared parameters across files
- Added multi-language support (EN, DE, FR, ES, PT, ZH, JA, KO, HI)
- Added DRT-based TLM model recommendation for porous electrode detection
- Improved visual frequency selection with multi-file and multi-sweep overlay
- Improved fitting tab layout with compact CSS grid design
- Improved fit failure error display with detailed messages
- Improved DRT and Features summary with compact 2-column card layout
- Improved fit settings display on auto-analysis result cards
- Improved DRT result box with compact parameter footer
- Improved bug report form with mandatory name/email validation and license prefill
- Improved sweep card highlight follows active sweep selection across all tabs
- Fixed Randles circuit topologies to standard form: C_dl || (R_ct + W)
- Fixed DRT recommendation false positives for Warburg, porous, and inductance detection
- Fixed DRT L-curve lambda selection and GCV hat matrix computation
- Fixed outlier detection edge-padding artifacts in data quality scoring
- Fixed auto-analysis polarization requiring fit results for iR correction
- Fixed duplicate fit result cards after auto-analysis re-fit
- Fixed parameter error display on history fit cards
- Fixed TLMnest unit labels mismatch
- Fixed numpy.bool_ JSON serialization for 3-electrode .mpr files
- Fixed Plotly plot sizing in collapsible sections
- Fixed fit result timestamps showing absolute date/time
- Fixed i18n language switch destroying license checkboxes and step numbers
- Fixed fit settings not showing on auto-analysis result cards
- Fixed XSS vulnerabilities across frontend (filenames, curve labels, error messages)
- Fixed path traversal in Origin export filename
- Added project import size limit (500 MB)
Version 2.0.2
- Update downloads now use .zip packages to avoid browser security warnings
- Support for both .zip and .exe update packages with automatic extraction
- Fix application not closing properly during updates (file lock issues)
- Improved installer reliability for non-admin users
- Fix pyarrow dependency crash on fresh installations
- Fix sidebar showing wrong version number after update
Version 2.0.1
- Compact 2-column grid layout for K-K and fit sweep results
- Origin .opju downloads available immediately after generation (incremental cache refresh)
- Fix Origin export filename preserving sweep/electrode labels
- Improved clear-all cleanup for K-K and DRT UI sections
- Fix AutoAnalyzeFileResult type for K-K validation fields
Version 2.0.0
- Complete rewrite: New FastAPI + TypeScript web architecture (replaces Streamlit)
- Native desktop window via pywebview with browser fallback
- DRT Analysis with circuit model recommendation
- SOH and temperature estimation from EIS features
- Auto-Analysis pipeline with trend analysis
- Graph customization with preset library
- Project import/export (.batalyse files)
- SQL database connectivity (MySQL + SQL Server)
- Origin .opju export with multi-sheet workbooks
- PalmSens .pssession file format support
- Kramers-Kronig validation improvements
- Bug report submission from within the app
- Automatic update checking with rollback support
Version 1.0.8
- New Customization Library for saving and loading graph presets
- Position-based defaults for single-test presets in Customization Library
- DRT Analysis: Added multiple new configuration options
- DRT Analysis: Add peaks manually or by clicking on the graph
- Auto Analysis: DRT settings can now be modified before running
- Added DRT peak information to Origin export with Peak_type column
- Auto-extract DRT peaks when running Auto Analysis and exporting
- Added Test X: prefix to Styles menu for clarity
- Fixed bugs when loading parameters from presets
- Improved default column tooltip in Customization Library
- Bug fixes and performance improvements
Version 1.0.7
- Fixed startup crash when installed in protected directories (Program Files)
- Application log now writes to user directory instead of install directory
- Added SQL injection protection for custom database query configurations
- Created comprehensive security documentation for IT departments
- Fixed Solartron ZPLOT2 .z file parsing (extended column format support)
Version 1.0.6
- Added Customize Graphs tab with full graph export customization
- Added per-file dataset styling (color, marker, line width)
- Added bold/italic font settings for titles, axis labels, legends
- Added JSON customization export/import for sharing settings
- Added export graphs selection to control which plots are generated
- Added Nyquist_Areal graph for area-normalized impedance plots
- Added PalmSens .pssession file format support
- Fixed combined Origin export for multi-file graphs
- Improved fitting failure messages with model name and error details
Version 1.0.5
- Added Origin export with KK_Nyquist graph (Experimental vs K-K Fit)
- Improved Origin detection with registry scanning and refresh button
- Fixed Kramers-Kronig validation to use proper linKK function
- Enhanced KK validation error display with residual data and plots
- Fixed local graph export (PNG ZIP) to include Nyquist and Bode plots
- Added terms acceptance documentation to license requests
- Fixed Origin uploads to Collect
Version 1.0.4
- Added Fitting Options expander to Auto Analysis with configurable parameters
- Improved MPR parser to handle high-impedance data (raised filter from 1kΩ to 1MΩ)
- Fixed UI reloads when modifying fitting options using Streamlit fragments
Version 1.0.3
- Added combined DRT comparison plot for multi-file exports
- Added combined KK validation plot for multi-file exports
- Combined Nyquist/Bode plots now generated automatically for comparison uploads
- Online licenses now re-validate on each app startup
- Enhanced offline license activation with key decryption capability
Version 1.0.2
- Fixed license validation on app startup and browser refresh
- Resolved tab-switching issue when interacting with checkboxes
- Bug Report tab now accessible without valid license
Version 1.0.1
- Replaced pyodbc with mssql-python for SQL Server connectivity
- Added sidebar expand button when collapsed
- Made Origin packages Windows-only to fix install errors
Credits

- EIS-Data-Analytics
https://github.com/isea-rwth-aachen/EIS-Data-Analytics
Blömeke, A., Kappelhoff, O., & Sauer, D. U. (2024). EIS Data Analytics. - PyEIS
https://github.com/kbknudsen/PyEIS
Knudsen, K. B. - impedance.py
https://github.com/ECSHackWeek/impedance.py
Murbach, M. D., Gerwe, B., Dawson-Elli, N., & Tsui, L. - pyDRTtools
https://github.com/ciuccislab/pyDRTtools
Ciucci, F., Chen, C., Effat, M. B., Liu, J., Maradesa, A., Py, B., Saccoccio, M., & Wan, T. H.