Convert Textile to Properties

Drag and drop files here or click to select.
Max file size 100mb.
Uploading progress:

Textile vs Properties Format Comparison

Aspect Textile (Source Format) Properties (Target Format)
Format Overview
Textile
Textile Markup Language

A lightweight markup language developed by Dean Allen for web publishing. Textile uses simple formatting syntax to generate well-formed HTML and is commonly used in Redmine, Basecamp, and various CMS platforms. It provides human-readable markup with rich formatting capabilities.

Lightweight Markup Web Publishing
Properties
Java Properties File

A simple key-value configuration file format widely used in Java applications and other software systems. Properties files store configuration settings as key=value pairs, one per line, with support for comments and Unicode escape sequences. They are fundamental to Java application configuration and internationalization (i18n).

Configuration Format Key-Value Pairs
Technical Specifications
Structure: Plain text with inline formatting markers
Encoding: UTF-8
Format: Human-readable markup
Compression: None (plain text)
Extensions: .textile, .txt
Structure: Key=value pairs, one per line
Encoding: ISO 8859-1 (Latin-1) with Unicode escapes
Format: Plain text configuration
Compression: None (plain text)
Extensions: .properties
Syntax Examples

Textile uses intuitive markup:

h1. Document Title

h2. Section One

*Bold text* and _italic text_

* First item
* Second item

|_. Key    |_. Value   |
| name     | Example   |
| version  | 1.0       |

Properties uses key=value pairs:

# Application Configuration
app.name=My Application
app.version=1.0

# Database Settings
db.host=localhost
db.port=5432
db.name=mydb

# Feature flags
feature.enabled=true
feature.max.retries=3
Content Support
  • Headings (h1-h6)
  • Bold, italic, underline, strikethrough
  • Ordered and unordered lists
  • Tables with headers
  • Links and images
  • Block quotes and code blocks
  • Footnotes
  • Key-value string pairs
  • Comment lines (# or !)
  • Multi-line values with backslash continuation
  • Unicode escape sequences (\uXXXX)
  • Whitespace handling around separators
  • Empty values
  • Dotted key namespacing
Advantages
  • Simple and readable syntax
  • Easy to learn and write
  • Plain text, version-control friendly
  • No special software required
  • Widely used in project management tools
  • Generates clean HTML output
  • Extremely simple format
  • Native Java support (java.util.Properties)
  • Easy to parse programmatically
  • Human-readable configuration
  • Standard for Java i18n
  • Widely supported across frameworks
Disadvantages
  • Less popular than Markdown
  • Not a configuration format
  • Limited tooling ecosystem
  • No structured data support
  • Formatting-oriented, not data-oriented
  • Flat structure only (no nesting)
  • String values only (no data types)
  • No array or list support
  • Limited to Latin-1 encoding natively
  • No standard schema validation
Common Uses
  • Redmine wiki and issue tracking
  • Web content authoring
  • Documentation in project management
  • Blog posts and CMS content
  • Technical documentation
  • Java application configuration
  • Internationalization (i18n) resource bundles
  • Spring Boot configuration
  • Apache and Tomcat settings
  • Build tool configuration (Maven, Gradle)
  • Environment-specific settings
Best For
  • Quick web content creation
  • Redmine documentation
  • Lightweight formatted text
  • Version-controlled content
  • Java application settings
  • Simple key-value configuration
  • i18n translation files
  • Environment configuration
Version History
Introduced: 2002 (Dean Allen)
Current Version: Textile 2
Status: Stable, maintained
Evolution: Minor updates over time
Introduced: 1995 (Java 1.0)
Current Version: Part of Java SE specification
Status: Active, widely used
Evolution: Stable format, rarely changed
Software Support
Redmine: Native support
Editors: Any text editor
Converters: Pandoc, RedCloth
Other: Basecamp, various CMS platforms
Java: Native java.util.Properties class
IDEs: IntelliJ IDEA, Eclipse, VS Code
Frameworks: Spring, Spring Boot, Quarkus
Other: Apache Commons Configuration

Why Convert Textile to Properties?

Converting Textile markup to Java Properties format enables you to extract structured data from Textile documents and transform it into configuration files suitable for Java applications, Spring Boot projects, and other systems that use the Properties format. This is particularly useful when documentation in Textile contains configuration values, settings tables, or key-value data that needs to be used programmatically.

Textile documents often contain tables with key-value information, such as configuration references, API parameter lists, or environment settings documented in Redmine wikis. By converting these to Properties format, you can directly use the extracted data in your Java applications without manual transcription, reducing errors and saving time.

The Properties format is one of the most fundamental configuration formats in the Java ecosystem. It uses simple key=value pairs, supports comments for documentation, and is natively loaded by Java's java.util.Properties class. Properties files are also used extensively in Spring Boot (application.properties), Maven, Gradle, and many other tools in the Java ecosystem.

This conversion bridges the gap between human-readable documentation written in Textile and machine-readable configuration needed by applications, making it easier to maintain configuration documentation and actual configuration files in sync.

Key Benefits of Converting Textile to Properties:

  • Data Extraction: Extract key-value pairs from Textile tables and lists
  • Java Compatibility: Output ready for java.util.Properties class
  • Spring Boot Ready: Use directly as application.properties
  • Documentation to Config: Bridge between docs and configuration
  • Simple Format: Clean, readable key=value output
  • Build Integration: Compatible with Maven, Gradle, and other tools
  • i18n Support: Create resource bundle files from Textile content

Practical Examples

Example 1: Application Configuration

Input Textile file (config.textile):

h1. Application Configuration

h2. Database Settings

|_. Property     |_. Value       |
| db.host        | localhost     |
| db.port        | 5432          |
| db.name        | production_db |
| db.pool.size   | 10            |

h2. Server Settings

|_. Property     |_. Value       |
| server.port    | 8080          |
| server.context | /api          |

Output Properties file (config.properties):

# Application Configuration

# Database Settings
db.host=localhost
db.port=5432
db.name=production_db
db.pool.size=10

# Server Settings
server.port=8080
server.context=/api

Example 2: i18n Translation File

Input Textile file (messages.textile):

h1. UI Messages

h2. Login Page

|_. Key                |_. Text               |
| login.title          | Welcome Back          |
| login.username       | Username              |
| login.password       | Password              |
| login.submit         | Sign In               |
| login.error.invalid  | Invalid credentials   |

Output Properties file (messages.properties):

# UI Messages

# Login Page
login.title=Welcome Back
login.username=Username
login.password=Password
login.submit=Sign In
login.error.invalid=Invalid credentials

Example 3: Feature Flag Configuration

Input Textile file (features.textile):

h1. Feature Flags

* *feature.dark.mode* = true
* *feature.notifications* = enabled
* *feature.max.upload.size* = 50MB
* *feature.cache.ttl* = 3600

Output Properties file (features.properties):

# Feature Flags
feature.dark.mode=true
feature.notifications=enabled
feature.max.upload.size=50MB
feature.cache.ttl=3600

Frequently Asked Questions (FAQ)

Q: What is the Java Properties format?

A: Java Properties is a simple key-value configuration format used extensively in the Java ecosystem. Each line contains a key=value pair, with # or ! for comments. The format is natively supported by Java's java.util.Properties class and is used for application configuration, internationalization (i18n) resource bundles, and framework settings like Spring Boot's application.properties.

Q: How is Textile content mapped to Properties keys?

A: Textile tables with key-value columns are directly mapped to Properties key=value pairs. Headings become section comments, and list items with key-value patterns are extracted as properties. The converter intelligently identifies structured data in Textile and transforms it into the flat key=value format that Properties files require.

Q: Can I use the output directly in Spring Boot?

A: Yes! The output Properties file follows the standard Java Properties format and can be used directly as an application.properties file in Spring Boot applications. Simply place the converted file in your src/main/resources directory and Spring Boot will automatically load the configuration values.

Q: Are comments preserved in the conversion?

A: Yes, Textile headings are converted to comment lines (prefixed with #) in the Properties output, providing section organization and documentation within the configuration file. This makes the generated Properties file well-organized and easy to understand.

Q: What encoding does the Properties file use?

A: By default, Java Properties files use ISO 8859-1 (Latin-1) encoding. Non-Latin characters are represented as Unicode escape sequences (\uXXXX). However, modern Java (9+) supports UTF-8 Properties files via Properties.load(Reader), and Spring Boot supports UTF-8 by default since version 2.0.

Q: Can Properties files have nested structures?

A: Properties files are inherently flat (no nesting), but hierarchical structure is conventionally represented using dotted key notation (e.g., db.connection.host=localhost). Textile headings and nested lists are converted to appropriate dotted-key namespaces in the Properties output.

Q: What is Textile and where is it used?

A: Textile is a lightweight markup language created by Dean Allen in 2002. It is the default markup language in Redmine (a popular project management tool), Basecamp, and several content management systems. Textile uses intuitive syntax like *bold* and _italic_ to format text and generate HTML output.

Q: How do I handle special characters in Properties values?

A: In Properties files, certain characters need escaping: backslash (\\), equals sign (\=), colon (\:), and spaces at the start of values (\ ). Our converter automatically handles these escape sequences when converting from Textile, ensuring the output is valid and correctly parsed by Java applications.