What is the SETTINGS file format?
A .settings file is an XML document used by Visual Studio to define typed, persistent application and user settings in .NET desktop projects. It lives in the Properties/ folder of C# projects (or My Project/ in VB.NET) and is almost always named Settings.settings.
The XML structure uses a <SettingsFile> root element containing <Setting> entries, each with a name, a .NET type (System.String, System.Drawing.Color, etc.), a scope (Application or User), and a default value. At build time, MSBuild generates a strongly-typed wrapper class - typically Properties.Settings - so settings are accessed in code as Properties.Settings.Default.MySettingName with full IntelliSense support.
Scope determines runtime behavior:
- Application-scope settings are read-only at runtime and stored in
app.config/app.exe.config - User-scope settings are read-write at runtime and persisted to
user.configin the user's%AppData%folder
The .settings schema has been stable since .NET Framework 2.0 (Visual Studio 2005) and remains the standard approach for WinForms and WPF desktop applications through .NET 8. For newer cross-platform .NET 5+ projects, Microsoft recommends appsettings.json with IConfiguration instead.
Security & safety
RISK: LOWA .settings file is plain XML and cannot execute. It may contain sensitive information (connection strings, API keys, default usernames/passwords) if the developer stored such data in Application-scope settings - inspect before sharing or committing to version control. User-scope settings containing sensitive data are a concern if the user.config in AppData is exposed.
Format details
in a nutshell- Generic application configuration files (various) - Many non-.NET applications and game engines use .settings as a generic extension for XML or INI-style configuration - unrelated to Visual Studio.
- Unity Editor settings - Unity Engine uses .settings files for some internal editor preferences; distinct format from Visual Studio .settings.
Programs that open SETTINGS files
Technical details
deep spec| File encoding | UTF-8 text (declared in the XML declaration header) |
| MIME type | application/xml (alt: text/xml) |
| Root XML element | <SettingsFile> containing <Settings> and <Setting> child elements |
| Setting scope types | Application (read-only at runtime, stored in app.config) and User (read-write, persisted to user.config) |
| User-scope runtime path | %AppData%\CompanyName\AppName\Version\user.config |
| Build-time code generation | MSBuild generates a strongly-typed Properties.Settings wrapper class with IntelliSense-accessible typed accessors |
| Standard file name | Settings.settings (by convention; one per project) |
| Project folder location | Properties/ folder (C# projects) or My Project/ folder (VB.NET projects) |
| Schema stability | Unchanged from .NET Framework 2.0 / VS 2005 through .NET 8 / VS 2022 |
| Supported value types | Any serializable .NET type: String, Int32, Boolean, Color, Size, connection strings, and custom types |
| Operating system | Windows (.NET Framework and .NET desktop workloads) |
| Modern alternative | appsettings.json + IConfiguration, recommended for .NET 5+ cross-platform projects |
| Released | 2005 (.NET Framework 2.0 / Visual Studio 2005) |
| Latest version | Current as of Visual Studio 2022 / .NET 8 (schema unchanged since .NET 2.0) |
| Specification | learn.microsoft.com |
SETTINGS conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about SETTINGS files.