MySQL to YAML Converter

Transform MySQL database dumps into YAML (YAML Ain't Markup Language) format for configuration files and data serialization

MySQL Input

YAML Output

About MySQL to YAML Converter

Convert MySQL database dumps (CREATE TABLE and INSERT statements) to YAML (YAML Ain't Markup Language) format. YAML is a human-friendly data serialization format commonly used for configuration files, data exchange, and infrastructure as code.

Key Features

  • Array of Objects: Standard YAML array format with dash syntax
  • Object with Keys: Nested object format with numeric keys
  • Type Detection: Automatic detection of strings, numbers, booleans, and null
  • Smart Quoting: Auto, always, or minimal string quoting
  • Configurable Indentation: 2 or 4 space indentation
  • Metadata Comments: Optional comments with conversion details
  • Special Character Escaping: Proper escaping for strings
  • File Download: Save as .yaml file

How to Use

  1. Input MySQL Data: Paste your MySQL CREATE TABLE and INSERT statements or upload a .sql file
  2. Choose Format: Select array of objects or object with keys format
  3. Configure Options: Set indentation, quoting, and comments
  4. Copy or Download: Use the Copy or Download button to save your YAML file

Output Formats

Array of Objects:

  • Uses YAML array syntax with dashes
  • Each record is an object in the array
  • Standard format for lists of items
  • Easy to iterate in code

Object with Keys:

  • Uses numeric keys for each record
  • Nested object structure
  • Good for indexed access
  • Preserves order explicitly

Example Conversion

MySQL Input:

CREATE TABLE users (
  id INT,
  username VARCHAR(50),
  email VARCHAR(100),
  active BOOLEAN
);

INSERT INTO users VALUES (1, 'john_doe', 'john@example.com', true);
INSERT INTO users VALUES (2, 'jane_smith', 'jane@example.com', false);

YAML Output (Array of Objects):

users:
  - id: 1
    username: john_doe
    email: john@example.com
    active: true

  - id: 2
    username: jane_smith
    email: jane@example.com
    active: false

YAML Output (Object with Keys):

users:
  0:
    id: 1
    username: john_doe
    email: john@example.com
    active: true

  1:
    id: 2
    username: jane_smith
    email: jane@example.com
    active: false

Common Use Cases

  • Configuration Files: Application and service configuration
  • Docker Compose: Container orchestration configuration
  • Kubernetes: K8s manifests and resource definitions
  • Ansible: Playbooks and inventory files
  • CI/CD: GitHub Actions, GitLab CI, CircleCI configs
  • Data Serialization: Language-agnostic data exchange
  • API Responses: Human-readable API data format

YAML Data Types

The converter automatically detects and converts to appropriate YAML types:

  • Strings: Text values (quoted or unquoted based on settings)
  • Integers: Whole numbers without quotes
  • Floats: Decimal numbers without quotes
  • Booleans: true or false (lowercase)
  • Null: null keyword for empty/NULL values

String Quoting Options

Auto (Recommended):

  • Quotes strings only when necessary
  • Prevents YAML parsing ambiguities
  • Balances readability and correctness
  • Handles special characters properly

Always:

  • All strings are quoted
  • Maximum safety and predictability
  • Easier to parse programmatically
  • Larger file size

Minimal:

  • Avoids quotes when possible
  • Most human-readable
  • Smallest file size
  • May require careful validation

Indentation

  • 2 Spaces: YAML standard, more compact
  • 4 Spaces: More readable for complex structures
  • Consistency: Use same indentation throughout project
  • No Tabs: YAML does not allow tabs for indentation

Special Characters

Characters that require quoting in YAML:

  • Colon (:): Key-value separator
  • Hash (#): Comment indicator
  • Brackets ([]): Array syntax
  • Braces ({}): Object syntax
  • Pipe (|): Literal block scalar
  • Greater than (>): Folded block scalar
  • Ampersand (&): Anchor
  • Asterisk (*): Alias

Supported MySQL Syntax

  • CREATE TABLE: Extracts column names for YAML keys
  • INSERT INTO: Parses data values from INSERT statements
  • Data Types: Handles all MySQL data types (VARCHAR, INT, BOOLEAN, etc.)
  • Quoted Strings: Handles single and double quotes with proper escaping

YAML Applications

  • Docker: docker-compose.yml configuration
  • Kubernetes: Pod, Service, Deployment manifests
  • Ansible: Automation playbooks and roles
  • GitHub Actions: Workflow definitions
  • Swagger/OpenAPI: API specifications
  • Spring Boot: application.yml configuration
  • Jekyll: Static site configuration

YAML Advantages

  • Human-Readable: Easy to read and write by humans
  • Minimal Syntax: Less verbose than JSON or XML
  • Comments: Supports comments with # character
  • Multi-line Strings: Natural support for multi-line text
  • Type-Safe: Explicit data types
  • Anchors & Aliases: Reuse values with & and *

Best Practices

  • Consistent Indentation: Use same spacing throughout
  • Quote Ambiguous Strings: Use auto quoting mode
  • Add Comments: Document complex structures
  • Validate: Use YAML linters to catch errors
  • Version Control: YAML works great with Git
  • Keep Simple: Avoid overly complex nesting

YAML vs JSON

  • YAML: More human-readable, supports comments, less verbose
  • JSON: Stricter syntax, better for APIs, faster parsing
  • Compatibility: YAML is a superset of JSON (valid JSON is valid YAML)
  • Use Case: YAML for config, JSON for data exchange

Privacy & Security

All conversions happen locally in your browser. Your MySQL data is never uploaded to any server, ensuring complete privacy and security.