Ep 56 — ftirfun Tool Tips and Practical Cases: Your Online IR Lab
Series: Infrared Spectroscopy Encyclopedia: From Principles to Practice
Chapter: Part 6 · Practice and Expansion — From Lab to Infinite Possibilities (Opening)
Audience: All viewers, especially lab personnel, students, and researchers who frequently need to interpret IR spectra
Prerequisites: All content from Ep 01–55, especially Ep 05–06 (Functional Group Frequencies), Ep 18 (Spectrum Processing), Ep 19 (Library Search)
Reading Time: ~30 minutes
Introduction: When IR Spectroscopy Meets the Web
Over the past fifty episodes, we have traveled a long journey from Herschel's thermometer to synchrotron IR, from KBr pellets to O-PTIR. But you may have noticed an awkward fact—after obtaining the spectrum, the most time-consuming part is not the measurement but the interpretation.
The traditional workflow is often: export CSV from instrument software → open Origin for fitting → look up functional groups in textbooks → browse NIST WebBook one by one → compile reports in Excel. Half a day passes in this process.
"The field of IR spectroscopy has long faced a contradiction: instruments are becoming smarter, but data analysis tools remain in a 'fragmented' stage."[1]
What if there were a tool that allows you to identify peaks, query functional groups, and compare spectra simply by opening a browser? That is exactly the original intention behind ftir.fun.
This episode is the opening of the Practice and Expansion chapter. We will systematically introduce the core features, usage tips, and practical cases of this domestically developed open-source web tool, helping you improve spectrum interpretation efficiency by an order of magnitude.
1. Introduction to ftirfun Project
1.1 What Is It
ftir.fun is a web-based FTIR spectrum analysis tool, accessible at https://ftir.fun. Its core positioning is:
- Online: No installation required, usable directly in a browser
- Structured: Organizes IR knowledge indexed by functional groups and peak positions
- Open: Data is publicly available and encourages community contributions
Unlike traditional commercial software (e.g., OMNIC, Opus, LabSolutions IR), ftir.fun follows a "knowledge graph + tool" approach—it does not replace your measurements, but it helps you understand spectra faster.
1.2 What It Can Do
| Feature Module | Description | Typical Scenario |
|---|---|---|
| Functional Group Page | View characteristic frequencies, peak shapes, and example spectra by functional group | Learning, verifying assignments |
| Peak Query | Input wavenumber to find possible corresponding functional groups | Interpreting unknown peaks |
| Spectrum Upload | Import spectra in formats like JCAMP-DX, SPA | Online viewing of own spectra |
| Peak Identification | Automatic/manual labeling of absorption peaks | Quick overview of spectral features |
| Spectrum Search & Comparison | Spectrum matching, database query | Unknown substance identification |
| Visualization | Interactive spectrum plotting | Reports and presentations |
💡 Positioning Note: ftir.fun is not intended to replace the deep analysis capabilities of commercial software, but serves as a lightweight tool for quick query and auxiliary interpretation, especially suitable for teaching, self-study, and initial screening.
2. Core Feature Demonstration
2.1 Spectrum Upload and Multi-format Parsing
ftir.fun supports uploading various common spectral formats:
- JCAMP-DX (.jdx / .dx): International common exchange format, supported by databases such as NIST and SDBS
- SPA (.spa): Thermo Fisher instrument native format
- CSV / TXT: Exported two-column data (wavenumber, absorbance/transmittance)
Upload Process:
- Go to ftir.fun homepage
- Click the "Upload Spectrum" button
- Select a local file
- The system automatically parses and renders the spectrum
"JCAMP-DX is a spectrum data exchange standard established by the International Union of Pure and Applied Chemistry (IUPAC) to enable data interchange between instruments from different manufacturers."[2]
2.2 Peak Identification and Management
After uploading a spectrum, ftir.fun provides peak identification functions:
- Auto-peak picking: Based on threshold and derivative algorithms, automatically marks main absorption peaks
- Manual labeling: Click any position on the spectrum to add a peak label
- Peak list: Displays wavenumber and intensity of all labeled peaks in a table format
- Peak editing: Modify, delete, or adjust labels
This function is very useful for quickly overviewing spectral features. For example, when you get an unknown sample spectrum, first auto-pick peaks, then check against functional group pages one by one; you can often lock down the main structural information within minutes.
2.3 Spectrum Search and Database Query
ftir.fun has a built-in spectral database of a certain scale, supporting:
- Spectrum similarity search: Compare uploaded spectrum with library spectra, ranking by match degree
- Compound name search: Search for standard spectra of specific compounds
- Functional group filtering: Filter compounds containing specific structures by functional group
💡 Relationship with NIST WebBook: ftir.fun's database coverage is not as comprehensive as NIST WebBook, but its structured indexing (by functional group, peak position) is more suitable for "reverse queries." The best results come from using both in combination [3].
2.4 Visualization and Comparative Analysis
ftir.fun's visualization module supports:
- Interactive zoom: Drag to zoom into a specific wavenumber range
- Multi-spectrum overlay: Upload multiple spectra simultaneously for comparison
- Peak alignment: Highlight same peak positions in comparison mode
- Export image: Generate spectrum images for reports
Comparative analysis is particularly useful in the following scenarios:
- Sample vs. standard: Determine purity or consistency
- Different batches: Monitor production process stability
- Before and after reaction: Track functional group changes
2.5 Functional Group Pages: Structured Knowledge Base
This is the most distinctive feature of ftir.fun. Each functional group has a dedicated page containing:
- Characteristic frequency range: Wavenumber ranges for stretching, bending, and other vibrations
- Peak shape characteristics: Broad/sharp, strong/weak
- Influencing factors: Shift rules due to hydrogen bonding, conjugation, ring strain, etc.
- Example spectra: IR spectra of typical compounds
Here are ftir.fun links for core functional groups:
| Functional Group | Link | Typical Frequency |
|---|---|---|
| Carbonyl (C=O) | ftir.fun/ir/group/carbonyl | 1650–1850 cm⁻¹ |
| Hydroxyl (O-H) | ftir.fun/ir/group/hydroxyl | 3200–3700 cm⁻¹ |
| Alkyl C-H | ftir.fun/ir/group/alkyl-c-h | 2800–3000 cm⁻¹ |
| Ester (-COO-) | ftir.fun/ir/group/ester | ~1735 + 1000–1300 cm⁻¹ |
| Amide (-CONH-) | ftir.fun/ir/group/amide | ~1650 + ~1620 cm⁻¹ |
🔗 More functional group pages: Amine, Carboxyl, Aldehyde, Ether, Aromatic Ring, Nitro, Water Molecule.
2.6 Peak Query: Reverse Lookup from Wavenumber to Functional Group
In addition to forward query from "functional group → frequency," ftir.fun also supports reverse query from "frequency → functional group." Access URLs of the form ftir.fun/ir/peak/{wavenumber}.
Example:
- ftir.fun/ir/peak/1700 → 1700 cm⁻¹附近可能对应: 酮 C=O、羧酸 C=O(氢键)、酰胺 C=O
- ftir.fun/ir/peak/3400 → 3400 cm⁻¹附近可能对应: O-H 伸缩、N-H 伸缩
- ftir.fun/ir/peak/1100 → 1100 cm⁻¹附近可能对应: C-O-C 伸缩、C-OH 伸缩
这一功能在解析未知峰时极为方便。当你看到一个峰但不确定归属时,直接查询该波数,系统会列出所有可能的官能团及其判据,帮你快速缩小范围。
三、使用技巧
3.1 批量处理工作流
如果你有大量谱图需要处理,推荐以下批量工作流:
- 预处理:在仪器软件或 Python(scipy)中完成基线校正、平滑,导出为 JCAMP-DX
- 批量上传:依次上传到 ftir.fun,使用"多谱图叠加"模式
- 统一拾峰:设置统一的阈值,确保峰位标注一致性
- 结构化记录:将峰值列表复制到表格,逐张分析
- 官能团核对:对每个关键峰,访问对应的官能团页面确认
💡 效率提示:如果只是快速筛查,可以只关注官能团区(4000–1500 cm⁻¹)的几个关键峰,不必逐峰归属指纹区。
3.2 自定义峰值标注
ftir.fun 支持手动标注峰位并添加备注。建议养成以下习惯:
- 标注顺序:从高频到低频,与谱图阅读顺序一致
- 命名规范:使用"波数 + 归属",如"1715 (C=O)"
- 强度标记:标注强/中/弱,便于后续判断
- 存疑标注:不确定的峰标记"?",避免误导
3.3 与 NIST WebBook 数据联动
ftir.fun 与 NIST Chemistry WebBook 是互补关系:
| 对比维度 | ftir.fun | NIST WebBook |
|---|---|---|
| 数据规模 | 精选核心化合物 | 数千种化合物 |
| 索引方式 | 官能团 + 峰位 | 化合物名称 + CAS |
| 特色 | 结构化知识图谱 | 权威标准谱图 |
| 适用场景 | 辅助解析、学习 | 标准比对、最终确认 |
联动工作流:
- 在 ftir.fun 上传未知谱图,自动拾峰
- 用峰位查询功能列出可能官能团
- 结合官能团页面缩小候选化合物范围
- 到 NIST WebBook 搜索候选化合物的标准谱图
- 将标准谱图导出并上传到 ftir.fun,与未知谱图叠加对比
- 确认最终鉴定结果
"NIST Chemistry WebBook 提供了大量化合物的红外光谱数据(公开文档常见表述为约 16000+ 种量级,并随库更新变化;请以 WebBook 当前页面为准,勿与“谱图条数”混用)。"[3]
四、实战案例:从上传到鉴定全流程
让我们用一个完整案例演示 ftir.fun 的实战应用。
4.1 案例背景
实验室收到一个未知白色固体样品,已测得 ATR-FTIR 谱图,导出为 JCAMP-DX 格式。需要鉴定其成分。
4.2 步骤一:上传与概览
- 打开 ftir.fun
- 上传 JCAMP-DX 文件
- 谱图渲染后,先整体观察:
- 4000–2500 cm⁻¹:有一个宽强峰(~3300)
- 1700–1600 cm⁻¹:有一个强尖峰(~1650)
- 1600–1500 cm⁻¹:有中等强度峰(~1540)
- 指纹区:多个中强峰
4.3 步骤二:自动拾峰
使用自动拾峰功能,识别出主要峰位:
| 波数(cm⁻¹) | 强度 | 初步判断 |
|---|---|---|
| 3300 | 宽强 | O-H 或 N-H |
| 1650 | 强尖 | C=O(酰胺?) |
| 1540 | 中强 | 可能 Amide II |
| 1450 | 中 | C-H 弯曲 |
| 1350 | 中 | C-N / C-O |
| 1240 | 中 | C-N 伸缩 |
| 1080 | 中 | C-O 或 C-N |
4.4 步骤三:峰位查询
逐个查询关键峰位:
- 访问 ftir.fun/ir/peak/3300 → 可能:O-H、N-H、炔 C-H
- 访问 ftir.fun/ir/peak/1650 → 可能:酰胺 C=O(Amide I)、共轭 C=O、C=C
- 访问 ftir.fun/ir/peak/1540 → 可能:Amide II(N-H 弯曲 + C-N 伸缩)
4.5 步骤四:官能团页面核对
观察到 3300 + 1650 + 1540 的组合,强烈提示酰胺结构:
- 访问 ftir.fun/ir/group/amide 核对:
- Amide I(C=O 伸缩):~1650 cm⁻¹ ✓
- Amide II(N-H 弯曲 + C-N 伸缩):~1540 cm⁻¹ ✓
- N-H 伸缩:3300 cm⁻¹ ✓
进一步判断酰胺类型:
- 3300 是单峰而非双峰 → 仲酰胺(-CONH-)或聚酰胺
- 1450 的 C-H 弯曲 + 指纹区特征 → 可能含长链烷基
4.6 步骤五:数据库搜索与确认
- 在 ftir.fun 搜索"聚酰胺"或"尼龙"
- 调出尼龙 66(聚己二酰己二胺)的标准谱图
- 与未知谱图叠加对比——峰位高度吻合
- 到 NIST WebBook [3] 搜索尼龙 66 的标准谱图,最终确认
鉴定结果:尼龙 66(聚酰胺 66,Nylon-66)
4.7 流程总结
上传谱图 → 自动拾峰 → 峰位查询 → 官能团核对 → 数据库搜索 → 标准谱图比对 → 确认结果
↓ ↓ ↓ ↓ ↓ ↓
ftir.fun ftir.fun ftir.fun ftir.fun ftir.fun NIST
整个流程在浏览器中完成,无需切换多个软件,从上传到初步鉴定约 10–15 分钟。
五、与其他开源工具的配合
ftir.fun 并非孤立存在。在红外光谱的开源生态中,还有许多优秀工具可以配合使用:
5.1 Python 生态
| 工具 | 功能 | 配合方式 |
|---|---|---|
| SciPy / NumPy | 数值计算、信号处理 | 批量预处理后上传 ftir.fun |
| scikit-learn | 化学计量学、PCA/PLS | 与 ftir.fun 互补,做定量分析 |
| matplotlib | 谱图绘制 | 生成报告级图片 |
| JupyterLab | 交互式分析 | 编写自定义分析流程 |
"Python has become the de facto standard for spectroscopic data analysis, with its rich scientific computing libraries providing strong support for automated analysis of infrared spectra."[4]
5.2 Specialized Spectral Tools
| Tool | Function | Link |
|---|---|---|
| OpenSpecy | Online microplastic spectral analysis | github.com/wincowgerDEV/OpenSpecy-package |
| RamanSPy | Raman spectroscopy analysis framework | github.com/barahona-research-group/RamanSPy |
These tools will be detailed in Ep 59.
5.3 Recommended Workflow
For in-depth analysis needs, the following "combination punch" is recommended:
- ftir.fun: Quick lookup, auxiliary interpretation, spectrum comparison
- NIST WebBook: Standard spectrum confirmation [3]
- Python + SciPy: Batch processing, custom analysis
- Instrument software: Raw data acquisition, advanced processing
"The value of a tool lies not in how many features it has, but in whether it fits your workflow. ftir.fun's advantage is being 'ready to use,' allowing you to obtain structured interpretation clues in the shortest time."[1]
VI. ftirfun Frequently Asked Questions
Q1: What file formats does ftir.fun support?
Currently, it mainly supports JCAMP-DX (.jdx / .dx), SPA, and CSV/TXT. If your instrument exports other proprietary formats (e.g., Bruker's .0, Shimadzu's .irs), it is recommended to convert them to JCAMP-DX or CSV in the instrument software first.
Q2: How accurate is the peak position query?
ftir.fun's peak position query is based on characteristic frequency ranges of functional groups, providing a list of "possible matches" rather than exact matches. In practice, comprehensive judgment combining peak shape, intensity, and accompanying peaks is needed.
Q3: Can ftir.fun replace commercial software?
Not completely. ftir.fun excels at quick lookup and auxiliary interpretation, but in-depth analysis (e.g., 2D-COS, chemometric modeling, in-situ reaction monitoring) still requires commercial software or Python tools. Its positioning is as a "handbook for infrared spectroscopy."
Q4: How to contribute data or report issues?
ftir.fun is an open tool and welcomes community contributions. You can submit Issues, contribute spectral data, or suggest new features through the project repository.
VII. Value and Limitations of ftirfun
7.1 Core Value
- Lowering the barrier: Enables spectral analysis for those without commercial software
- Structured knowledge: Organizes scattered functional group frequencies into a searchable knowledge base
- Teaching-friendly: Suitable for classroom teaching and self-study
- Domestic open source: Chinese interface, aligned with domestic user habits
7.2 Limitations
- Limited database size; complex samples still require large libraries like NIST
- Automatic peak picking algorithm is less refined than commercial software
- Lacks advanced quantitative analysis functions
- Cannot replace instrument software for raw data processing
💡 Right mindset: Treat ftir.fun as a "quick reference handbook + auxiliary tool for infrared spectroscopy," not a "universal analysis platform." Its value lies in helping you find direction faster, not replacing professional in-depth analysis.
Summary of This Episode
| Key Point | Content |
|---|---|
| Positioning of ftir.fun | Web-based FTIR spectral analysis tool, ready to use |
| Core functions | Spectrum upload, peak identification, functional group query, reverse peak lookup, spectrum comparison |
| Functional group page | View characteristic frequencies, peak shapes, influencing factors by functional group, e.g., carbonyl |
| Peak query | Visit ftir.fun/ir/peak/{wavenumber} to reverse query possible functional groups |
| Practical workflow | Upload → Peak picking → Peak query → Functional group verification → Library search → Standard comparison |
| Complementary tools | NIST WebBook, Python ecosystem, specialized spectral tools |
| Best scenarios | Teaching, self-study, rapid screening, auxiliary interpretation |
Thought Questions
If you receive a completely unknown infrared spectrum, how would you design an interpretation workflow using ftir.fun? Please write specific steps.
ftir.fun's peak query returns a list of "possible matches" rather than a unique answer. Why can't infrared spectroscopy achieve an exact mapping of "one wavenumber to one functional group"? What essential characteristic of infrared spectroscopy is this related to?
Compare the positioning differences between ftir.fun and NIST WebBook. In which scenario should you prioritize one over the other?
Suppose you are a lab manager tasked with establishing an "infrared spectroscopy analysis SOP" for your team. How would you incorporate ftir.fun into the workflow? At which stage would it fit best?
References
[1] ftir.fun Project Documentation. ftir.fun — Online FTIR Spectral Analysis Tool.
https://ftir.fun
[2] IUPAC. "JCAMP-DX: A Standard Form for Exchange of Infrared Spectra." Pure and Applied Chemistry, 1991.
https://iupac.org
[3] NIST Chemistry WebBook. Standard Reference Database. National Institute of Standards and Technology.
https://webbook.nist.gov
[4] McKinney, W. "Data structures for statistical computing in Python." SciPy Proceedings, 2010.
https://www.scipy.org
Preview of Next Episode: Ep 57 — Collection of Fun Cases (Part 1): Infrared in Space — JWST and Mars Exploration
Infrared spectroscopy is not confined to laboratories. When the James Webb Space Telescope turns its gaze toward Mars, infrared becomes humanity's ultimate weapon for "remote sensing" of cosmic chemistry. In the next episode, we will leave Earth and see how infrared spectroscopy helps scientists search for signs of extraterrestrial life.