html2wp / Documentation

How to convert HTML to a WordPress theme in the html2wp app

This guide shows how to convert HTML to a WordPress theme in the html2wp desktop app: installing the app, your first conversion, choosing a model, what leaves your computer and how you edit the finished site. Converting with an agent in the terminal is covered in the plugin documentation for Claude Code and Codex.

Part oneYour first conversion

Installing the app that converts HTML to WordPress

Download the html2wp app for a Mac with Apple silicon (M1 or newer) or for Windows, and install it like any other application. The Windows version is still a Preview, and a Linux version comes later.

When you first open it, click Prepare environment. The app then downloads everything it needs. It does this only once, and it takes a while.

For its work the app needs Docker Desktop, a free program. Docker runs a temporary WordPress, and the app installs the theme there and checks it. If you don't have Docker, the app downloads it and starts the installer for you. Your computer may ask for your password along the way.

Signing in with ChatGPT

The conversion is done by the AI in your ChatGPT subscription, so you don't pay us for credits or tokens.

In the app, click Connect with ChatGPT. The app shows you a 9-character code and opens an OpenAI page in your browser. There, pick your ChatGPT account or sign in.

Next the page asks you for a code “from the terminal” and mentions Codex CLI. That is fine: html2wp uses Codex, and the code the page wants is the one from the app. Paste it in (click the code in the app to copy it) and click Continue. After you sign in, the app updates itself.

Only OpenAI sees your password

You type your ChatGPT password only on the OpenAI page, and the app never sees it. Don't send the code to anyone, and enter it only when you started the sign-in yourself.

New project: the HTML you convert into a theme

Click New project and choose the folder or ZIP with your site. It can be an export from Lovable, Bolt or v0, a design from Claude or a plain HTML site. The app does not accept a site address (URL), because it needs the files the site is built from.

The app works out by itself which page is the home page and which is the blog, an article or a product.

Then choose what you want to get. Usually you convert the HTML to a WordPress theme, in Flash or Full mode. If you don't need WordPress, choose an Astro 5 project instead. That conversion is shorter, and you can deploy the finished site right from the app to Cloudflare Pages, where you can host it for free.

Flash or Full: two ways to convert HTML to WordPress

Flash is the quick conversion, and it is the default in the app. Each step runs once. Menus, blog, shop and forms are recognised and wired up straight away. The checks also run once, and you find their results in the report. It takes about half an hour and suits most sites, as well as a quick try.

Full is the thorough conversion. It runs every check and tries to fix the errors it finds. It takes about an hour and uses more of your ChatGPT subscription limit. So it pays off for more complex sites, or when Flash left a lot of points to polish in the report.

Both modes convert your HTML to a usable WordPress theme and add a note on anything that is left. The exact time depends on the number of pages and how fast your computer is.

Choosing a model to convert HTML to a theme

In the app you choose the AI model and the reasoning level (Reasoning effort).

  • GPT-6-Luna at Extra high is enough for regular conversions. It is cheap, uses little of your subscription limit and handles most sites on its own.
  • GPT-6-Sol at Medium or High is what we recommend when something needs fixing, for example in a Full conversion or for edits through the chat.
  • GPT-6-Astra is the strongest and most expensive model. You don't need it for regular work, but it helps when even Sol cannot solve a problem.

You can change the model whenever no conversion is running. Each project can have its own.

Checking the WordPress theme against your HTML

When the conversion finishes, the app lets you know. If something does not work out, it first tries to fix it on its own. Either way, it always hands over a usable theme with a note on what to polish.

In the Preview tab, click Open website and look at the new site in your browser. The Compare tab shows the original and the conversion side by side, with the difference in percent. Type whatever you don't like into the chat, and the app fixes it. Then save the finished changes as a new version with Make release.

The automatic checks catch most differences, but not all of them. So look through the pages before you hand the theme to a client. You save the theme ZIP in the Exports tab and upload it to WordPress under Appearance → Themes → Add New → Upload Theme.

Part twoAfter that

Data and privacy

Our server builds the theme. However, most of the work (measuring, comparing with the original and fixing) runs on your computer, and the AI in your ChatGPT account drives it. OpenAI processes what the AI works on under the terms of your account.

What is sent to the server

Your site converted into an Astro project (pages, styles, scripts, images and fonts), plus information about each page. The original project folder and the installed libraries (node_modules) are not sent. The uploaded data is deleted automatically after 48 hours. Only a fingerprint (hash) stays, and because of it a re-run counts as one conversion.

Files with passwords and keys

Files that look like login credentials never go into the bundle at all: .env, keys (.pem, .key, id_rsa), .npmrc, .netrc, the .ssh and .aws folders, or any file with a private key. You find everything the app left out, by name, in the report.

Check results

After it tests the theme, the app sends only the check results: which checks passed and which did not, page counts, the largest difference from the original and the short names of the pages that failed (for example “about”). It does not send the site address, domain, code, text, screenshots, file paths, licence key or site name.

The checks run against the WordPress on your computer, which our server never sees. Without their results the server would only know that the conversion did not crash. That is why the next conversion starts only after the previous one has sent its results. The app sends them automatically. The full description is on the privacy page.

Editing with Visual Edit

A site you convert from HTML to a WordPress theme needs no plugin to run. Pages, blog, forms, menus, SEO and redirects are all part of the theme. The redirects send old addresses to new ones: anyone who opens the old link /about.html lands on /about/, so the site keeps its search rankings.

Point-and-click editing comes from Visual Edit, a WordPress plugin you add yourself. Whatever you click is what changes. No page builder rebuilds the page code underneath.

FeatureLite (free)Pro
Text, images and links by clicking✓✓
Forms, menus and SEO fields✓✓
Edit history10 steps300 steps
AI assistant (your own OpenRouter API key)–✓
AI image editing and animations from images–✓
Theme export and form protection with Turnstile–✓

Pro is a separate yearly licence on the pricing page. Every conversion, Free or Pro, links to the free Lite version. If you switch the plugin off, the pages keep rendering and the theme stays fully usable.

Licence, subscription, beta

Re-runs

On the free tier you have 5 re-runs in total across all conversions, and with a Pro licence they are unlimited. A re-run is the same site uploaded again. The server recognises it by its fingerprint (hash), so it counts as a re-run, not as a new conversion.

Managing and cancelling your subscription

You manage your subscription on the subscription page. The link is in the site footer and in every licence email. In the Paddle customer portal you can cancel the subscription, change your card, download invoices and switch monthly Pro to yearly. It signs you in with a link sent to the email you bought with, so you need no password.

Cancelling stops the next renewal. Your key works until the end of the paid period, and every theme you converted stays yours. A cancellation is not a refund: refunds follow the refund terms.

What beta means

html2wp converts real sites and is used for real work. The app compares every page with the original and writes each failed check into the report, next to the best usable theme and a description of what falls short. Automatic checks can miss a difference, so look through the pages yourself before you promise a client a result.

When you find a bug in the converter itself, report it as the plugin documentation describes. A person reads it, and fixes arrive as service updates.