What is the INO file format?
.ino files are Arduino Sketch source files - plain-text C++ source files written for Arduino microcontrollers. The .ino extension replaced the older .pde format in Arduino IDE 1.0 to remove ambiguity with Processing sketches that shared the same extension.
Every .ino sketch must reside in a folder whose name exactly matches the file (for example, Blink/Blink.ino). The Arduino build system merges all .ino files in that folder before compilation, automatically injecting #include <Arduino.h> and generating function prototypes, so no explicit main() entry point is needed.
.ino sketches contain the firmware code uploaded to Arduino boards. Every sketch must define two functions:
setup()- runs once on power-up or reset to initialize pins, serial ports, and librariesloop()- executes repeatedly aftersetup(), forming the main control cycle
Common tasks include reading sensors with analogRead() or digitalRead(), driving outputs with digitalWrite() or analogWrite(), and communicating over serial, I2C, or SPI buses. When compiled, the IDE produces a .hex or .bin binary that is flashed to the microcontroller.
.ino files are plain text and can be opened in any text editor, but the Arduino IDE and VS Code with the PlatformIO or Arduino extension provide syntax highlighting, board management, and one-click upload.
Security & safety
RISK: LOWAn .ino is plain-text source code - it cannot run on your PC by itself and is safe to read in any editor. The realistic caution is the same as for any code you download: read it before compiling and uploading to hardware, since a sketch from an untrusted source could misuse connected components or, in rare cases, include libraries that do unexpected things. The file itself carries no executable payload for your computer.
Format details
in a nutshell- Inno Setup uncompiled script (legacy) - Some sources list .ino for Inno Setup installer scripts, but Inno Setup actually uses .iss - the .ino association is largely historical/incorrect.
- Inor IPRO transmitter software data - Inor's IPRO transmitter configuration tool stored internal data with a .ino extension.
Programs that open INO files
Technical details
deep spec| Format type | Plain-text C++ source code; no binary sections or file signature |
| MIME type | text/x-arduino |
| Character encoding | UTF-8 plain text; no magic bytes |
| Mandatory functions | Every sketch must define setup() and loop() |
| Folder naming rule | The .ino file must reside in a folder with an identical name (e.g., Blink/Blink.ino) |
| Multi-file merging | All .ino files in the sketch folder are concatenated by the IDE before compilation |
| Preprocessing | Arduino IDE injects #include <Arduino.h> and auto-generates function prototypes before invoking the compiler |
| Compiler backend | avr-gcc (AVR boards), arm-none-eabi-gcc (ARM/Cortex-M), or xtensa-gcc (ESP8266/ESP32) |
| Build output | Compiled to a .hex or .bin binary flashed to the microcontroller via USB |
| Target platforms | Arduino Uno/Nano (AVR ATmega), Arduino Due/MKR/Nano 33 (ARM Cortex-M), ESP8266, ESP32, and other Arduino-compatible boards |
| Library system | Compatible with Arduino Library Manager; third-party libraries included via #include directives |
| Serial debugging | Built-in Serial object enables USB serial output via Serial.begin() and Serial.print() |
| Pin control API | Core functions: pinMode(), digitalWrite(), digitalRead(), analogWrite(), analogRead() |
| CLI tool | arduino-cli can compile and upload .ino sketches without the GUI IDE |
| Released | 2011 - .ino replaced the older .pde extension in Arduino IDE 1.0 |
| Open standard | Yes · royalty-free |
| Specification | arduino.github.io |
INO conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about INO files.