The Set|File Site

Welcome to the Set|File Site:

The starting point for everything Set|File: SET and Q-SET

What are Q-SET files & SET files?

"SET files" (.set or .qset) provide a simple, compact, flexible, human-readable, text-based format for storing configuration data, settings, and structured information. Designed for flexibility, readability, adaptability and even with all that - simplicity!

You will find SET files are more compact, easier to read and generally faster to parse than JSON files with added ease of use when it comes to comments and direct editing. SET files are intended more for use within defined environments rather than for sharing data between undefined environments, the programmer can easily adapt it's flexible design while using only the needed functions to solve most configuration and simple data storage needs.

It is a practical replacement for many data formats such as .json, .yaml, .ini, and .csv, in small to medium-sized projects where readable, maintainable configuration files matter. SET files can easily be used as a clean, flat-file replacement for SQL, in small data-sets. The SET file format has evolved over the last 25 years of personal, practical use in coding projects starting in the VB6 era and are now in use in a variety of php, js web-apps. In recent years, with my growing frustrations trying to use JSON, after using SET files for so long, I decided to update this tool for use in modern languages, and release it for public use under the Creative Commons License.

- Kirk Siqveland
December 2025




Why Use SET files?




Quick Example


myconfig.set

Application configuration
Created: 2025-11-27

[DATABASE]
Host|localhost
Port|5432
Database|myapp

[SETTINGS]
Theme|dark
Language|en-US
MaxUsers|50
RS232|9600|8|N|1|None

[{WELCOME_MESSAGE}]
Welcome to My Application!

Get started by configuring your settings above.
[EOG]

Get Started


Features:

Simple Structure - Handles Complex Data

Groups organize related data. Fields are separated by pipes. That's it.

Flexibile Data Formats

Use key-value pairs, tables for structured records, embed multiline text, comments.
Ad-hoc data insertion.

Text Blocks

Store multi-line content without escaping - perfect for descriptions, licenses, documentation.

Escape from Escaping!

Only one escape needed - and only if your data includes your delimiter.


Community & Development


About the Set|File Project

Set|File Format, Code and sites are created and maintained by Kirk Siqveland.



Page last modified on January 17, 2026, at 08:16 PM