Convert Textile to Markdown

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

Textile vs Markdown Format Comparison

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

Lightweight markup language created by Dean Allen in 2002. Used extensively in Redmine project management, Textpattern CMS, and various web applications. Provides concise syntax for formatting with headings, links, lists, tables, and inline CSS styling.

Markup Language Redmine Native
Markdown
Markdown Markup Language

Lightweight markup language created by John Gruber in 2004. The most widely adopted markup language for documentation, README files, blogging, and web content. Supported by GitHub, GitLab, Stack Overflow, and virtually every modern development platform.

Industry Standard GitHub Compatible
Technical Specifications
Structure: Plain text with markup notation
Encoding: UTF-8
Format: Human-readable markup
Compression: None
Extensions: .textile, .txt
Structure: Plain text with markup symbols
Encoding: UTF-8
Format: Human-readable markup
Compression: None
Extensions: .md, .markdown, .txt
Syntax Examples

Textile markup syntax:

h1. Main Heading

This is *bold* and _italic_.

* List item one
* List item two

"Link text":http://example.com

!image.png!

Markdown equivalent syntax:

# Main Heading

This is **bold** and *italic*.

- List item one
- List item two

[Link text](http://example.com)

![image](image.png)
Content Support
  • Headings (h1. through h6.)
  • Bold, italic, underline, strikethrough
  • Ordered and unordered lists
  • Tables with alignment
  • Hyperlinks and images
  • Block quotes and code blocks
  • Inline CSS styles
  • Footnotes
  • Headings (# through ######)
  • Bold, italic, strikethrough
  • Ordered and unordered lists
  • Tables (GFM)
  • Hyperlinks and images
  • Block quotes and fenced code blocks
  • Task lists (GFM)
  • Footnotes (extended syntax)
Advantages
  • Concise formatting syntax
  • Supports inline CSS classes and IDs
  • Native in Redmine
  • Rich table formatting
  • Footnote support built-in
  • Flexible attribute handling
  • Industry-standard format
  • Supported everywhere (GitHub, GitLab, etc.)
  • Extensive tooling ecosystem
  • Easy to learn and read
  • Rendered by most platforms
  • Multiple extensions (GFM, CommonMark)
Disadvantages
  • Limited platform support
  • Fewer users and community
  • Less tooling available
  • Not supported on GitHub
  • Declining adoption
  • No inline CSS support
  • Limited table formatting
  • No built-in underline syntax
  • Multiple conflicting specs
  • No native class/ID attributes
Common Uses
  • Redmine wikis and issues
  • Textpattern CMS content
  • Legacy documentation systems
  • Web content management
  • Project documentation (older systems)
  • GitHub/GitLab README files
  • Technical documentation
  • Blog posts and articles
  • API documentation
  • Knowledge bases
  • Static site generators (Jekyll, Hugo)
Best For
  • Redmine-based projects
  • Textpattern websites
  • Formatted text with CSS classes
  • Legacy web content
  • Modern documentation
  • GitHub/GitLab projects
  • Cross-platform publishing
  • Developer-focused content
Version History
Introduced: 2002 (Dean Allen)
Current Version: Textile 2
Status: Stable, maintained
Evolution: Adopted by Redmine, Textpattern
Introduced: 2004 (John Gruber)
Current Version: CommonMark / GFM
Status: Active, widely adopted
Evolution: CommonMark, GFM, MDX
Software Support
Redmine: Native support
Textpattern: Native support
Pandoc: Full conversion support
Other: Ruby, PHP, Python libraries
GitHub: Native rendering (GFM)
VS Code: Built-in preview
Pandoc: Full support
Other: Thousands of tools and platforms

Why Convert Textile to Markdown?

Converting Textile to Markdown is one of the most common markup migration tasks, especially when moving documentation from Redmine to GitHub, GitLab, or other modern platforms. While both are lightweight markup languages, Markdown has become the de facto standard for documentation in the software development world, making this conversion essential for modernizing your workflow.

Textile and Markdown share many similarities — both convert plain text to HTML and both are human-readable. However, their syntax differs significantly: Textile uses "h1." for headings while Markdown uses "#", Textile wraps bold text in single asterisks (*bold*) while Markdown uses double asterisks (**bold**), and link syntax is completely different between the two formats.

This conversion is particularly important for teams migrating from Redmine to GitHub Issues or from Textpattern to static site generators like Jekyll or Hugo. By converting your Textile content to Markdown, you ensure compatibility with the vast ecosystem of Markdown tools, editors, and platforms that dominate modern development workflows.

Our converter handles all Textile syntax elements including headings, text formatting, lists, links, images, tables, code blocks, and block quotes, translating each to its Markdown equivalent accurately. The result is clean, well-formatted Markdown that renders correctly on any platform that supports it.

Key Benefits of Converting Textile to Markdown:

  • Platform Migration: Move content from Redmine to GitHub/GitLab seamlessly
  • Universal Compatibility: Markdown is supported by virtually every modern platform
  • Better Tooling: Access thousands of Markdown editors, previewers, and linters
  • Future-Proof: Markdown adoption continues to grow across all platforms
  • Developer Standard: Markdown is the expected format for README, docs, and wikis
  • Static Sites: Use converted content with Jekyll, Hugo, Gatsby, and others
  • Syntax Mapping: All Textile elements have Markdown equivalents

Practical Examples

Example 1: Redmine Wiki to GitHub Wiki

Input Textile file (wiki.textile):

h1. Project Documentation

h2. Getting Started

Follow these steps to set up the project:

# Clone the repository
# Run @bundle install@
# Copy @config/database.yml.example@ to @config/database.yml@
# Run @rake db:migrate@

h2. Features

* *User Authentication* - Login and registration
* _API Integration_ - RESTful endpoints
* Database management

Output Markdown file (wiki.markdown):

# Project Documentation

## Getting Started

Follow these steps to set up the project:

1. Clone the repository
2. Run `bundle install`
3. Copy `config/database.yml.example` to `config/database.yml`
4. Run `rake db:migrate`

## Features

- **User Authentication** - Login and registration
- *API Integration* - RESTful endpoints
- Database management

Example 2: Link and Image Conversion

Input Textile file (content.textile):

h3. Resources

Visit "our website":http://example.com for more info.

!logo.png(Company Logo)!

See the "API docs":/api/documentation for details.

bq. This is an important quote
that spans multiple lines.

Output Markdown file (content.markdown):

### Resources

Visit [our website](http://example.com) for more info.

![Company Logo](logo.png)

See the [API docs](/api/documentation) for details.

> This is an important quote
> that spans multiple lines.

Example 3: Table Conversion

Input Textile file (table.textile):

h2. Comparison Table

|_. Feature |_. Free Plan |_. Pro Plan |
| Storage | 5 GB | 100 GB |
| Users | 1 | Unlimited |
| Support | Email | Priority |

Output Markdown file (table.markdown):

## Comparison Table

| Feature | Free Plan | Pro Plan |
|---------|-----------|----------|
| Storage | 5 GB | 100 GB |
| Users | 1 | Unlimited |
| Support | Email | Priority |

Frequently Asked Questions (FAQ)

Q: What is the difference between Textile and Markdown?

A: Both are lightweight markup languages, but they use different syntax. Textile uses "h1." for headings (Markdown uses "#"), single asterisks for bold (Markdown uses double asterisks), and a unique link syntax. Markdown has become the industry standard while Textile is primarily used in Redmine and Textpattern.

Q: Can I convert an entire Redmine wiki to Markdown?

A: Yes! Export your Redmine wiki pages as Textile files and convert them to Markdown using our tool. This is the most common use case for Textile-to-Markdown conversion, especially when migrating to GitHub, GitLab, or other Markdown-based platforms.

Q: Are Textile tables converted properly to Markdown tables?

A: Yes, Textile tables using pipe syntax are converted to GitHub Flavored Markdown (GFM) tables. Header rows, cell alignment, and content are all preserved. The resulting tables render correctly on GitHub, GitLab, and other GFM-compatible platforms.

Q: How are Textile code blocks converted?

A: Textile inline code (using @code@) is converted to Markdown backtick syntax (`code`). Textile block code sections are converted to fenced code blocks using triple backticks (```). Language hints are preserved when available.

Q: Does the converter handle Textile-specific features like inline CSS?

A: Textile supports inline CSS classes and IDs (e.g., p(classname). text), which have no direct Markdown equivalent. The converter preserves the text content and applies the closest Markdown formatting possible. Some Textile-specific styling may be simplified in the Markdown output.

Q: Will footnotes be preserved?

A: Yes, Textile footnotes are converted to Markdown footnote syntax where supported. Most Markdown processors (including GitHub and Pandoc) support footnotes, so your references will be preserved in the converted output.

Q: What Markdown flavor is used in the output?

A: The converter outputs GitHub Flavored Markdown (GFM) by default, which is the most widely supported Markdown variant. GFM includes support for tables, task lists, strikethrough, and fenced code blocks — all of which map well to Textile features.

Q: Can I convert Markdown back to Textile?

A: Yes, our platform also supports Markdown-to-Textile conversion. This is useful if you need to import Markdown content into Redmine or other Textile-based systems. Both directions of conversion are available on Converting.cloud.