Wearable Signal Tools · ECG
Open-Source ECG Signal Processing Tools
86 open-source tools for electrocardiography (ECG) data, most often in Python, MATLAB and C. Each listing shows its licence, commercial use and last commit.
What open-source software is available for ECG signal processing and HRV analysis?
Electrocardiography (ECG) records the heart's electrical activity. Beat-to-beat intervals from ECG are the usual reference for heart rate variability (HRV).
- Apnea Detection from the ECG (apdet)signal processing toolbox for ECG signalsECGSignal processingLanguage not statedLicence: ODC-By-1.0Commercial use: yesLast commit Feb 4, 2002
- Benchmarking PPG peak detection with reference ECGPython benchmark and evaluation code for PPG and ECG signalsPPGECGBenchmark harnessPythonLicence: MITCommercial use: yesLast commit Sep 21, 2021
- BIOBSSPython signal processing toolbox for PPG, ECG, EDA and respiration signalsPPGECGEDARespirationSignal processingPythonLicence: MITCommercial use: yesLast commit May 17, 2023
- biopeaksPython signal processing toolbox for ECG, respiration and PPG signalsECGRespirationPPGSignal processingPythonLicence: GPL-3.0Commercial use: yesLast commit Aug 12, 2024
- BioPsyKitPython signal processing toolbox for ECG, respiration and accelerometer/IMU signalsECGRespirationIMUSignal processingPythonLicence: MITCommercial use: yesLast commit Oct 20, 2026
- BioSigKitMATLAB signal processing toolbox for ECG, accelerometer/IMU, respiration and EEG signalsECGIMURespirationEEGSignal processingMATLABLicence: MITCommercial use: yesLast commit Mar 22, 2019
- BioSPPyPython signal processing toolbox for ECG, PPG, EDA, respiration and EEG signalsECGPPGEDARespirationEEGSignal processingPythonLicence: BSD-3-ClauseCommercial use: yesLast commit Sep 17, 2026
- BleakHeartPython data collection platform for ECG, PPG and accelerometer/IMU signalsECGPPGIMUData collection platformPythonLicence: MPL-2.0Commercial use: yesLast commit Oct 19, 2025
- BP benchmarkPython benchmark and evaluation code for PPG and ECG signalsPPGECGBenchmark harnessPythonLicence: MITCommercial use: yesLast commit May 14, 2025
- BrainBeatsMATLAB signal processing toolbox for EEG, ECG and PPG signalsEEGECGPPGSignal processingMATLABLicence: GPL-3.0Commercial use: yesLast commit Oct 9, 2026
- BrainFlowC++ data collection platform for ECG and EEG signalsECGEEGData collection platformC++Licence: MITCommercial use: yesLast commit Oct 21, 2026
- BRAVEHEARTMATLAB signal processing toolbox for ECG signalsECGSignal processingMATLABLicence: GPL-3.0Commercial use: yesLast commit Oct 16, 2026
- ConstruePython signal processing toolbox for ECG signalsECGSignal processingPythonLicence: AGPL-3.0Commercial use: yesLast commit Oct 24, 2022
- dicom-ecg-plotPython viewer and plotting tool for ECG signalsECGVisualizationPythonLicence: MITCommercial use: yesLast commit Apr 28, 2026
- ECG and PPG simulator with arrhythmia episodessignal simulator for ECG and PPG signalsECGPPGSimulation and synthetic dataLanguage not statedLicence: GPL-3.0Commercial use: yesLast commit May 2, 2022
- ECG baseline wander removal methodsMATLAB preprocessing library for ECG signalsECGPreprocessingMATLABLicence: MITCommercial use: yesLast commit Feb 23, 2022
- ECG GUDB APIPython data reader and loader for ECG signalsECGDataset loaderPythonLicence: CC-BY-3.0Commercial use: yesLast commit Nov 10, 2024
- ECG pacing artifact removalpreprocessing library for ECG signalsECGPreprocessingLanguage not statedLicence: MITCommercial use: yesLast commit Apr 24, 2026
- ECG synthesization (KIT-IBT)Python signal simulator for ECG signalsECGSimulation and synthetic dataPythonLicence: Apache-2.0Commercial use: yesLast commit Nov 4, 2022
- ECG_PLATFORMPython benchmark and evaluation code for ECG signalsECGBenchmark harnessPythonLicence: MITCommercial use: yesLast commit Feb 2, 2021
- ecg_qcPython signal quality tool for ECG signalsECGSignal qualityPythonLicence: GPL-3.0Commercial use: yesLast commit Sep 22, 2021
- ecg-augmentationsPython preprocessing library for ECG signalsECGPreprocessingPythonLicence: MITCommercial use: yesLast commit Oct 20, 2026
- ECG-Derived Respiration (EDR)signal processing toolbox for ECG and respiration signalsECGRespirationSignal processingLanguage not statedLicence: ODC-By-1.0Commercial use: yesLast commit Mar 19, 2000
- ECG-featurizerPython signal processing toolbox for ECG signalsECGSignal processingPythonLicence: GPL-3.0Commercial use: yesLast commit May 5, 2021
- ECG-kitMATLAB signal processing toolbox for ECG signalsECGSignal processingMATLABLicence: GPL-2.0Commercial use: yesLast commit Feb 20, 2020
- ecgbenchPython benchmark and evaluation code for ECG signalsECGBenchmark harnessPythonLicence: MITCommercial use: yesLast commit Oct 19, 2026
- ECGDataKitPython data reader and loader for ECG signalsECGDataset loaderPythonLicence: Apache-2.0Commercial use: yesLast commit Oct 15, 2026
- ECGdeliMATLAB signal processing toolbox for ECG signalsECGSignal processingMATLABLicence: GPL-3.0Commercial use: yesLast commit May 27, 2025
- ecgdeli-pyPython signal processing toolbox for ECG signalsECGSignal processingPythonLicence: GPL-3.0Commercial use: yesLast commit Jul 19, 2026
- ecglibPython preprocessing library for ECG signalsECGPreprocessingPythonLicence: Apache-2.0Commercial use: yesLast commit Nov 11, 2024
- ecgmentationsPython preprocessing library for ECG signalsECGPreprocessingPythonLicence: MITCommercial use: yesLast commit Mar 10, 2025
- ECGPUWAVEsignal processing toolbox for ECG signalsECGSignal processingLanguage not statedLicence: ODC-By-1.0Commercial use: yesLast commit Oct 29, 2018
- ECGSYNsignal simulator for ECG signalsECGSimulation and synthetic dataLanguage not statedLicence: GPL-3.0Commercial use: yesLast commit Dec 3, 2003
- ECGSYN (Python)Python signal simulator for ECG signalsECGSimulation and synthetic dataPythonLicence: MITCommercial use: yesLast commit Jan 4, 2019
- ECGwaveGenMATLAB signal simulator for ECG signalsECGSimulation and synthetic dataMATLABLicence: ODC-By-1.0Commercial use: yesLast commit Nov 23, 2002
- Every Breath You TakePython data collection platform for ECG signalsECGData collection platformPythonLicence: MITCommercial use: yesLast commit Oct 18, 2024
- explorepyPython device and mobile SDK for EEG and ECG signalsEEGECGMobile and device SDKPythonLicence: MITCommercial use: yesLast commit Sep 22, 2026
- Fast QRS detectorPython signal processing toolbox for ECG signalsECGSignal processingPythonLicence: EPL-2.0Commercial use: yesLast commit Jan 1, 2026
- FECGSYNMATLAB signal simulator for ECG signalsECGSimulation and synthetic dataMATLABLicence: GPL-3.0Commercial use: yesLast commit Dec 13, 2024
- Heart Rate Fragmentation softwaresignal processing toolbox for ECG signalsECGSignal processingLanguage not statedLicence: GPL-3.0Commercial use: yesLast commit Feb 14, 2024
- heartKITPython device and mobile SDK for ECG signalsECGMobile and device SDKPythonLicence: BSD-3-ClauseCommercial use: yesLast commit Oct 7, 2026
- HeartPyPython signal processing toolbox for PPG and ECG signalsPPGECGSignal processingPythonLicence: MITCommercial use: yesLast commit Dec 30, 2025
- HRnV-CalcMATLAB signal processing toolbox for ECG signalsECGSignal processingMATLABLicence: AGPL-3.0Commercial use: yesLast commit Jul 11, 2025
- HRVToolMATLAB signal processing toolbox for ECG signalsECGSignal processingMATLABLicence: MITCommercial use: yesLast commit Nov 3, 2020
- Lightweight 12-lead ECG viewer for MATLABMATLAB viewer and plotting tool for ECG signalsECGVisualizationMATLABLicence: MITCommercial use: yesLast commit Aug 30, 2021
- mhrvMATLAB signal processing toolbox for ECG signalsECGSignal processingMATLABLicence: GPL-3.0Commercial use: yesLast commit Nov 10, 2023
- NeuroKit2Python signal processing toolbox for PPG, ECG, EDA, EEG and respiration signalsPPGECGEDAEEGRespirationSignal processingPythonLicence: MITCommercial use: yesLast commit Mar 1, 2026
- OpenHRVPython data collection platform for ECG signalsECGData collection platformPythonLicence: LGPL-2.1Commercial use: yesLast commit Jun 27, 2026
- OpenSignalsReaderPython data reader and loader for ECG, EEG and EDA signalsECGEEGEDADataset loaderPythonLicence: MITCommercial use: yesLast commit Jun 6, 2019
- OSET (Open-Source Electrophysiological Toolbox)MATLAB signal processing toolbox for ECG signalsECGSignal processingMATLAB, PythonLicence: BSD-3-ClauseCommercial use: yesLast commit Sep 27, 2026
Questions about open-source ECG tools
What is ECG?
Electrocardiography (ECG) records the heart's electrical activity. Beat-to-beat intervals from ECG are the usual reference for heart rate variability (HRV).
How many open-source ECG tools are listed?
86. The most common categories are signal processing (51), simulation and synthetic data (6) and preprocessing (6).
Which programming languages do open-source ECG tools use?
Python (54), MATLAB (19), C (3), C++ (1), R (1) and Swift (1); 8 do not state a language. A tool that names more than one language is counted under each.
Can I use these ECG tools in a commercial product?
It depends on each licence. Of the 86 tools, 81 list commercial use as yes, 1 as no and 4 do not state it. Each tool page shows the licence exactly as the project publishes it; read the licence in the project repository before you build on it.
Listings, summaries, licences and commercial-use fields are shown as recorded for each project, as of Oct 21, 2026. Maintenance is computed from the date of the last commit. Check the licence in each project’s repository before you use it.



































