What is the SUO file format?
A .suo file stores the personal IDE state for a Visual Studio solution - the settings that belong to a specific user on a specific machine, not to the solution itself. When you open a solution, Visual Studio records your editor layout, which documents are open and where your cursor is positioned, the active build configuration (Debug or Release), breakpoint locations, Find/Replace history, and tool-window arrangements into the .suo file alongside the .sln solution file.
The format is a binary OLE2 Compound File Binary (CFBF) structured-storage container - the same container used by legacy .doc and .xls files. Each installed Visual Studio package writes its own named stream into the compound file to persist its state. The eight-byte magic signature D0 CF 11 E0 A1 B1 1A E1 is shared by all OLE2/CFBF files; the internal stream names such as SolutionConfiguration and TaskListOptions identify it as a .suo.
Because .suo files are per-user and per-machine, they must never be committed to version control - add *.suo to your .gitignore. If the IDE behaves erratically (wrong build configs, missing breakpoints), deleting the .suo is the standard first troubleshooting step; Visual Studio recreates it automatically on the next launch. The file is marked hidden in the filesystem.
Starting with Visual Studio 2015, Microsoft began migrating this state into a hidden .vs\ folder next to the solution. Visual Studio 2017 and later no longer create a monolithic .suo file; the equivalent data lives in .vs\{solution-name}\v15\ as granular JSON and binary files. The .suo extension is effectively legacy for any project opened in VS 2017 or newer.
Security & safety
RISK: LOWSUO files are passive binary data stores - they pose no execution risk on their own. They may leak developer-specific data: file paths on the local machine, project structure, and extension configurations. For this reason they should not be shared publicly (add *.suo to .gitignore). A maliciously crafted CFBF file could in theory exploit a CFBF parser bug in Visual Studio, but this is a very theoretical risk for .suo files received from unknown sources.
Format details
in a nutshellPrograms that open SUO files
Technical details
deep spec| Container format | OLE2 Compound File Binary Format (CFBF) structured storage |
| Magic bytes | D0 CF 11 E0 A1 B1 1A E1 at offset 0 (shared OLE2 signature) |
| Encoding | Binary, little-endian |
| Internal streams | Named CFBF streams per Visual Studio package, identified by GUID-derived names |
| Stored state | Open documents and cursor positions, editor layout, breakpoints, active build configuration, Find/Replace history, extension-specific settings |
| Typical file size | 5 KB - 5 MB (grows with number of open files, breakpoints, and extensions) |
| Filesystem attribute | Marked hidden; stored alongside the .sln file in the solution root |
| Source control | Must be excluded from VCS; add *.suo to .gitignore |
| Auto-recreation | Automatically regenerated by Visual Studio when deleted; deletion is a safe troubleshooting step |
| CFBF sector size | 512-byte sectors (CFBF v3 format) |
| Stream isolation | Each installed VS package or extension writes its own isolated named stream |
| Legacy status | Superseded by the hidden .vs folder (VS 2015+); not created by VS 2017 and later |
| Associated OS | Windows |
| Corruption recovery | Deleting the .suo and reopening the solution is the standard first step for corrupted IDE state |
| Released | 1997 (Visual Studio 97 / Visual Studio 5.0) |
| Latest version | Visual Studio 2015 and earlier: binary CFBF .suo; Visual Studio 2015 also introduced a hidden .vs\ folder variant. Visual Studio 2017+ replaced the monolithic .suo with the hidden .vs\{solution}\v15\ directory containing granular JSON/binary files - the .suo extension is essentially legacy as of 2017. |
| Specification | learn.microsoft.com |
SUO conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about SUO files.