.VI

VI File

LabVIEW Virtual Instrument File
Ask a question
QUICK ANSWER

A VI file is a LabVIEW Virtual Instrument - a graphical program (or subprogram) created in NI LabVIEW. To open it you need LabVIEW, or the free LabVIEW Runtime Engine to run it without editing. The most common problem is a version mismatch: VI files saved in a newer LabVIEW version cannot be opened in an older one without a "Save for Previous Version" step.

Developer: National Instruments (now NI, a part of Emerson) Category: Developer Files MIME: application/x-labview-vi
OPENS ON Windows macOS Linux
Related: .DO · .MD · .HEX · .XSD

On this page

19k+ extensions indexed
Last reviewed Aug 9, 2026

Not sure what your file is?

Drop any file into our identifier - we read just the first bytes to name the format.

Identify a file

What is the VI file format?

Files with the .vi extension belong to the category of virtual instrument files, used within the LabVIEW programming environment developed by National Instruments (now NI, part of Emerson).

What do .vi files contain?

A .vi file stores a virtual instrument - an application that simulates the operation of real laboratory equipment such as a multimeter or an oscilloscope. Each file contains two main sections: a graphical source written in the G language (LabVIEW’s dataflow programming language) and its compiled executable version. Within the graphical section you will find:

  • user interface (the front panel)
  • block diagram, which holds the G language source wires and nodes
  • data space
  • connector pane
  • icon used to represent the instrument when placed as a SubVI inside another block diagram

The compiled code stored in the second section allows the virtual instrument to run inside the LabVIEW environment without a separate build step.

What are .vi files used for?

Virtual instruments let engineers conduct research and measurements without physically constructing the analysed systems. Since LabVIEW’s introduction in 1986 - originally on Apple Macintosh - VIs have been deployed across industry, academia, and advanced R&D projects including work by NASA. VIs can be nested inside one another as SubVIs, enabling modular, reusable instrument designs.

Can I create my own .vi files?

The LabVIEW environment allows for the visual creation of new or modification of existing virtual instruments. When you edit the block diagram or front panel, LabVIEW automatically recompiles the G language source and saves the updated compiled code back into the same .vi file, so the instrument is immediately ready to run.

Internally, .vi files use NI’s proprietary Resource Container binary format (magic bytes 52 53 52 43 0D 0A - RSRC\r\n - at file offset 0), derived from the Mac OS Resource Fork used in LabVIEW’s original Mac-only years (1986-1992). The format is not forward-compatible: a .vi saved in a newer LabVIEW version cannot be opened in an older one. Related formats include .vit (VI Template), .ctl (custom control), and .lvproj (LabVIEW project).

Security & safety

RISK: MEDIUM

VI files can contain compiled executable code that runs on the host machine. A malicious VI could read/write files, communicate over the network, or control hardware. Only open VIs from trusted sources. NI instruments drivers from NI's official Instrument Driver Network are safe; third-party VIs should be reviewed in LabVIEW's block diagram before running.

Format details

in a nutshell
FULL NAMELabVIEW Virtual Instrument Fileaka VI file, LabVIEW VI
DEVELOPERNational Instruments (now NI, a part of Emerson)since 1986 (LabVIEW 1.0 for Mac)
MIME TYPEapplication/x-labview-vi
TYPEProprietary binary (Resource Container / Mac Resource Fork-inspired)
This extension is also used by…
  • Unix vi editor recovery file - Some Unix systems use .vi as recovery/swap files for the vi text editor, completely unrelated to LabVIEW.
MAGIC BYTES · FILE SIGNATURE
OFFSET
000102030405
HEX
525352430D0A
ASCII
RSRC··
First 6 bytes are 'RSRC\r\n' (0x52 53 52 43 0D 0A). Next 2 bytes are resource version (0x0003 = v3 current). Bytes 8-15 are VI type/subtype signature e.g. 'LVINLBVW' for standard VI.

Programs that open VI files

Windows2 apps
LabVIEW Paid Double-click the .vi file in LabVIEW's project tree or use File → Open. The front panel opens; press Ctrl+E to toggle to block diagram.
LabVIEW Runtime Engine (run-only) Free Install the matching Runtime version, then double-click the VI to run it (cannot view/edit code).
macOS1 app
LabVIEW Paid File → Open, or drag the .vi onto the LabVIEW icon.
Linux1 app
LabVIEW Paid LabVIEW for Linux supports .vi files natively (Linux version available since 1997).

Technical details

deep spec
Binary signature52 53 52 43 0D 0A ("RSRC\r\n") at file offset 0 - Resource Container header
Container formatNI Resource Container (proprietary; modelled on Mac OS Resource Fork)
Byte orderBig-endian
EncodingBinary
CompressionNone by default; individual data blocks may use zlib in LabVIEW 2021+
Typical file size10 KB - 50 MB (depends on compiled code, embedded SubVIs, and icon data)
Key chunk typesBDPW (block diagram), FPHP (front panel), VCTP (connector pane), CONP (compiled code), ICON (VI icon)
Container versionResource Container v3 (current, since ~LabVIEW 8.x); v2 in earlier versions
Cross-version compatibilityNot forward-compatible - .vi saved in a newer LabVIEW version cannot be opened in an older one; Mass Compile required after upgrade
Password protectionAvailable via VI Properties for front panel and block diagram locking; not cryptographic encryption
Integrity checkingCRC-based checks on resource blocks; file is refused on load if corrupt
SubVI supportVIs can be nested as SubVIs inside other VIs, enabling modular instrument design
MIME typeapplication/x-labview-vi
OS supportWindows, macOS, Linux
Released1986 (LabVIEW 1.0 for Mac)
Latest versionResource Container version 3 (as of LabVIEW 2021+)
Specificationlabviewwiki.org

VI conversions

Community Q&A

asked by users
Ask a quick question
Get help from people who work with VI files. Be specific - include your system and software version.
No account needed · answers usually within a day

No questions yet - be the first to ask about VI files.

Frequently asked questions

Why can't I open a .vi file in my version of LabVIEW?
VI files are version-locked. If the VI was saved in a newer LabVIEW version, you need that version or newer. Ask the sender to use File → Save for Previous Version to target your LabVIEW version.
Can I open a .vi file without LabVIEW?
You can run (but not edit) a VI using the free LabVIEW Runtime Engine - the runtime version must match the LabVIEW version used to build the VI.
What is the difference between .vi and .vit?
.vit is a VI Template - when opened, LabVIEW creates a new unnamed VI from it, preserving the original. .vi opens the actual file for editing.
What is a SubVI?
A SubVI is a .vi file called from within another VI's block diagram, equivalent to a function call in text programming.
Can I convert a LabVIEW VI to Python?
No direct conversion exists. LabVIEW and Python can interoperate at runtime (pyvisa, LabVIEW Python node), but there is no tool to translate G-language to Python source.

References

1LabVIEW Wiki - Resource Container formatlabviewwiki.org
2LabVIEW Wiki - Virtual Instrumentlabviewwiki.org

Keep exploring

across the database

Top extensions this week

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.MDMarkdown Document
4.BINCD/DVD Disc Image (BIN/CUE)
5.NOMEDIAAndroid No-Media Marker File
6.PARTPartial Download File
7.RPMSGRestricted Permission Message
8.EXEWindows Executable (Portable Executable)
9.AVIFAV1 Image File Format (AVIF)
10.DBSQLite Database File

Related extensions

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Free file tools

An in-browser file identifier and image converter - everything runs on your device.

Open the toolbox

Browse file extensions A-Z