# Onnx

> Open Neural Network Exchange

**Wikidata**: [Q55080116](https://www.wikidata.org/wiki/Q55080116)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Open_Neural_Network_Exchange)  
**Source**: https://4ort.xyz/entity/onnx

## Summary
ONNX (Open Neural Network Exchange) is a free and open-source software ecosystem and Python package designed to enable interoperability between different deep learning frameworks. Originally developed under the name "Toffee," the project provides a standard format for representing machine learning models, allowing developers to train models in one framework and deploy them in another. It is maintained as an open-source project on GitHub under the MIT License and Apache Software License 2.0, with its latest stable release being version 1.20.0.

## Key Facts
- **Primary Name:** Open Neural Network Exchange (ONNX)
- **Former Name/Alias:** Toffee
- **Software Category:** Free and open-source software, Python package
- **Licenses:** MIT License, Apache Software License 2.0
- **Official Website:** https://onnx.ai/
- **Source Code Repository:** https://github.com/onnx/onnx
- **PyPI Project Name:** onnx
- **Latest Stable Version:** 1.20.0 (released December 1, 2025)
- **Software Dependencies:** protobuf, NumPy, six, typing-extensions
- **Linux Package Availability:** python-onnx (openSUSE, Arch Linux), py-onnx (MacPorts)
- **Google Knowledge Graph ID:** /g/11f8p2sz3_
- **Social Media:** Twitter handle @onnxai (verified, created September 28, 2017)
- **Wikipedia Presence:** Available in 13 languages including English, German, Spanish, French, Japanese, Korean, Chinese, Russian, and others.

## FAQs

**What is ONNX used for?**
ONNX provides an open format for representing machine learning models, enabling models trained in one framework (like PyTorch) to be transferred and run in another (like TensorFlow or Caffe2) without requiring conversion scripts or retraining.

**Is ONNX free to use?**
Yes, ONNX is completely free to use under an open-source license. It is dual-licensed under the MIT License and the Apache Software License 2.0, allowing for both personal and commercial use without licensing fees.

**Where can I find ONNX source code?**
The official source code is publicly hosted on GitHub at https://github.com/onnx/onnx, where users can access the codebase, report issues, and contribute to development.

**What programming languages does ONNX support?**
ONNX is primarily distributed as a Python package available via PyPI (project name: `onnx`). It is also available through system package managers like openSUSE (`python-onnx`), Arch Linux (`python-onnx`), and MacPorts (`py-onnx`).

**How frequently is ONNX updated?**
ONNX has an active release cycle. Since its initial 1.0 release in December 2017, it has seen over 30 version updates, with the latest stable release (1.20.0) published in December 2025, indicating ongoing maintenance and development.

## Why It Matters
ONNX plays a critical role in the modern machine learning ecosystem by addressing one of the industry's most persistent challenges: framework lock-in. Before ONNX, deep learning practitioners often faced significant hurdles when trying to move models between different training and inference environments. This lack of interoperability led to duplicated effort, as teams had to maintain multiple versions of the same model or rewrite code entirely.

By establishing a universal intermediate representation for neural networks, ONNX allows data scientists and engineers to choose the best tools for each stage of their pipeline—training, optimization, and deployment—without being constrained by compatibility issues. This flexibility accelerates research, reduces development costs, and fosters broader adoption of AI technologies across industries. The project’s longevity (active development since 2017) and wide industry support underscore its importance as foundational infrastructure in the AI landscape.

## Notable For
- **Pioneering Interoperability:** ONNX was one of the first major initiatives to create a standardized exchange format for deep learning models, supported initially by Facebook and Microsoft.
- **Dual Open-Source Licensing:** Offers flexibility through both MIT and Apache 2.0 licenses, accommodating a wide range of commercial and non-commercial use cases.
- **Multi-Platform Availability:** Distributed not only via Python’s PyPI but also through native Linux package managers (Arch, openSUSE) and macOS via MacPorts.
- **Global Accessibility:** Documentation and community resources are available in 13 languages, reflecting broad international adoption.
- **Consistent Release Cadence:** Maintained a steady stream of updates from 2017 through 2025, demonstrating sustained community and corporate commitment.
- **Verified Social Presence:** Maintains an active, verified Twitter account (@onnxai) with thousands of followers, facilitating community engagement.

## Body

### History and Development
ONNX was originally developed under the name "Toffee" before being rebranded as the Open Neural Network Exchange. The project reached its first major milestone with the release of version 1.0 on December 6, 2017. This initial release established the foundational architecture for model representation and exchange.

Following the 1.0 launch, the development team adopted a rapid iteration schedule:
- **2018:** Six releases, including 1.0.1 (January), 1.1.0 (March), 1.2.x series (May–September), and 1.3.0 (August).
- **2019:** Continued momentum with versions 1.4.0, 1.4.1 (January), 1.5.0 (April), and 1.6.0 (September).
- **2020–2021:** Version 1.7.0 (May 2020), 1.8.x series (November 2020 – January 2021), and 1.9.0 (April 2021).
- **2021–2022:** Releases 1.10.x (July–October 2021), 1.11.0 (February 2022), and 1.12.0 (June 2022).
- **2023:** Versions 1.13.x (February–December 2022), 1.14.x (May–August 2023), and 1.15.0 (October 2023).
- **2024:** Releases 1.16.0 (March), 1.16.1 (May), 1.16.2 (August), and 1.17.0 (October).
- **2025:** The latest stable release, 1.20.0, was published on December 1, 2025, marking the culmination of eight years of continuous development.

### Licensing and Legal Status
ONNX is classified as copyrighted free and open-source software. It is dual-licensed, allowing users to choose between:
1. **MIT License:** A permissive license that allows reuse with minimal restrictions.
2. **Apache Software License 2.0:** Provides similar freedoms but includes patent grant provisions, offering additional legal protection for contributors and users.

This dual-licensing approach makes ONNX suitable for integration into both open-source projects and proprietary commercial products.

### Technical Architecture and Dependencies
As a Python package, ONNX is designed to integrate seamlessly into existing machine learning workflows. The core library depends on several widely-used Python packages:
- **protobuf:** For efficient serialization of model data.
- **NumPy:** For numerical operations and tensor manipulations.
- **six:** For Python 2/3 compatibility.
- **typing-extensions:** For enhanced type hinting capabilities.

The project is available across multiple platforms and distribution channels:
- **PyPI:** Installable via `pip install onnx`.
- **Linux Distributions:** Available as `python-onnx` in openSUSE and Arch Linux repositories.
- **macOS:** Accessible through MacPorts as `py-onnx`.

### Community and Ecosystem
ONNX maintains a strong online presence. The project’s official website (https://onnx.ai/) serves as the central hub for documentation and resources. The primary development occurs on GitHub at https://github.com/onnx/onnx, where users can access the codebase, submit issues, and contribute pull requests.

The project engages with the community through social media, notably via its verified Twitter account @onnxai, created on September 28, 2017. As of January 2021, the account had approximately 3,898 followers.

Wikipedia articles about ONNX exist in 13 languages, including Catalan, German, English, Spanish, Persian, French, Japanese, Korean, Russian, Ukrainian, Uzbek, and Chinese, highlighting its global relevance. The project is also indexed in the Google Knowledge Graph with the ID `/g/11f8p2sz3_`.

## References

1. [Source](https://github.com/onnx/onnx/blob/master/LICENSE)
2. [Source](https://api.github.com/repos/onnx/onnx)
3. [Source](https://github.com/onnx/onnx/releases)
4. [Release 1.3.0. 2018](https://github.com/onnx/onnx/releases/tag/v1.3.0)
5. [Release 1.0. 2017](https://github.com/onnx/onnx/releases/tag/v1.0)
6. [Release 1.0.1. 2018](https://github.com/onnx/onnx/releases/tag/v1.0.1)
7. [Release 1.1.0. 2018](https://github.com/onnx/onnx/releases/tag/v1.1.0)
8. [Release 1.1.2. 2018](https://github.com/onnx/onnx/releases/tag/v1.1.2)
9. [Release 1.2.1. 2018](https://github.com/onnx/onnx/releases/tag/v1.2.1)
10. [Release 1.2.2. 2018](https://github.com/onnx/onnx/releases/tag/v1.2.2)
11. [Release 1.2.3. 2018](https://github.com/onnx/onnx/releases/tag/v1.2.3)
12. [Release 1.4.0. 2019](https://github.com/onnx/onnx/releases/tag/v1.4.0)
13. [Release 1.4.1. 2019](https://github.com/onnx/onnx/releases/tag/v1.4.1)
14. [Release 1.5.0. 2019](https://github.com/onnx/onnx/releases/tag/v1.5.0)
15. [Release 1.6.0. 2019](https://github.com/onnx/onnx/releases/tag/v1.6.0)
16. [Release 1.7.0. 2020](https://github.com/onnx/onnx/releases/tag/v1.7.0)
17. [Release 1.8.0. 2020](https://github.com/onnx/onnx/releases/tag/v1.8.0)
18. [Release 1.8.1. 2021](https://github.com/onnx/onnx/releases/tag/v1.8.1)
19. [Release 1.9.0. 2021](https://github.com/onnx/onnx/releases/tag/v1.9.0)
20. [2021](https://github.com/onnx/onnx/releases/tag/v1.10.0)
21. [Release 1.10.0. 2021](https://github.com/onnx/onnx/releases/tag/v1.10.0)
22. [2022](https://github.com/onnx/onnx/releases/tag/v1.11.0)
23. [Release 1.11.0. 2022](https://github.com/onnx/onnx/releases/tag/v1.11.0)
24. [2022](https://github.com/onnx/onnx/releases/tag/v1.12.0)
25. [Release 1.12.0. 2022](https://github.com/onnx/onnx/releases/tag/v1.12.0)
26. [Release 1.10.1. 2021](https://github.com/onnx/onnx/releases/tag/v1.10.1)
27. [Release 1.10.2. 2021](https://github.com/onnx/onnx/releases/tag/v1.10.2)
28. [Release 1.13.0. 2022](https://github.com/onnx/onnx/releases/tag/v1.13.0)
29. [Release 1.13.1. 2023](https://github.com/onnx/onnx/releases/tag/v1.13.1)
30. [Release 1.14.0. 2023](https://github.com/onnx/onnx/releases/tag/v1.14.0)
31. [Release 1.14.1. 2023](https://github.com/onnx/onnx/releases/tag/v1.14.1)
32. [Release 1.15.0. 2023](https://github.com/onnx/onnx/releases/tag/v1.15.0)
33. [Release 1.16.0. 2024](https://github.com/onnx/onnx/releases/tag/v1.16.0)
34. [Release 1.16.1. 2024](https://github.com/onnx/onnx/releases/tag/v1.16.1)
35. [Release 1.16.2. 2024](https://github.com/onnx/onnx/releases/tag/v1.16.2)
36. [Release 1.17.0. 2024](https://github.com/onnx/onnx/releases/tag/v1.17.0)
37. [Release 1.18.0. 2025](https://github.com/onnx/onnx/releases/tag/v1.18.0)
38. [Release 1.19.0. 2025](https://github.com/onnx/onnx/releases/tag/v1.19.0)
39. [Release 1.19.1. 2025](https://github.com/onnx/onnx/releases/tag/v1.19.1)
40. [Release 1.20.0. 2025](https://github.com/onnx/onnx/releases/tag/v1.20.0)
41. [Release 1.20.1. 2026](https://github.com/onnx/onnx/releases/tag/v1.20.1)
42. [Release 1.21.0. 2026](https://github.com/onnx/onnx/releases/tag/v1.21.0)