FREE ONLINE WEB SERVER CONVERTER

Nginx & Apache ➔ Caddyfile Converter

Convert legacy Nginx server blocks and Apache .htaccess / VirtualHost configs into clean, idiomatic Caddyfiles in real-time. Runs 100% in your browser for total privacy.

1-Click Presets:
Nginx (nginx.conf / server)
Generated Caddyfile

Migration Advisories & Optimisations

Paste or select a configuration above to see automated migration advisories and smart mappings.

Directives Eliminated / Handled Natively

  • None detected

Detected Features & Routing

  • None detected

Why Migrate from Nginx or Apache to Caddy?

Caddy replaces hundreds of lines of fragile web server boilerplate with clean, robust defaults designed for modern production.

🔒

Zero-Touch Automatic HTTPS

Caddy automatically obtains, renews, and staples OCSP certificates via Let's Encrypt and ZeroSSL. No certbot, cron jobs, or renewal failures.

📄

80% Shorter Configuration

Human-friendly syntax replaces cryptic nested blocks. Modern HTTP/2, HTTP/3, and TLS 1.3 are enabled out of the box with zero tuning.

Built-In Reverse Proxy & PHP

WebSocket upgrades, X-Forwarded headers, and connection pooling are handled automatically. One clean php_fastcgi directive routes PHP apps securely.

🛡️

100% Client-Side Privacy

All parsing and transpilation run locally in your web browser. No server names, ports, IP addresses, or configs are ever transmitted or saved.

Smart Mapping & Why Caddy is Simpler

🚀

Reverse Proxy & Headers

proxy_pass + 5 lines of proxy_set_header collapse to a single reverse_proxy. Host, X-Forwarded-For, and WebSockets are handled automatically.

proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
reverse_proxy 127.0.0.1:3000

Automatic HTTPS

ssl_certificate directives are stripped. Caddy automatically issues, renews, and configures TLS via Let's Encrypt / ZeroSSL.

ssl_certificate /etc/letsencrypt/...;
ssl_certificate_key /etc/letsencrypt/...;
# Automatic HTTPS (Zero config)

PHP-FPM Router

try_files + fastcgi_pass and param scripts collapse into php_fastcgi and file_server.

try_files $uri $uri/ /index.php?$args;
fastcgi_pass unix:/run/php.sock;
php_fastcgi unix//run/php.sock
file_server
🔒

Clean Redirects

Complex regex RewriteRules translate directly into human-readable redir statements.

RewriteRule ^blog/(.*)$ /posts/$1 [R=301,L]
redir /blog/* /posts/{1} permanent

Frequently Asked Questions

How do I convert an Nginx configuration to Caddyfile?

Paste your Nginx server block or location blocks into the input editor. The transpiler analyzes directives like proxy_pass, fastcgi_pass, try_files, root, and rewrite rules, and immediately generates an idiomatic Caddy v2 Caddyfile.

Can I convert Apache .htaccess and VirtualHost files?

Yes. Switch the server selector to Apache and paste your .htaccess directives or <VirtualHost> block. It translates RewriteRule, DirectoryIndex, header modifications, and basic auth into Caddy directives.

Is my server configuration uploaded or stored?

No. The entire conversion runs client-side in your browser via JavaScript. No configurations, domains, internal backend IPs, or server credentials are ever sent to any remote server.

What Nginx directives are omitted in Caddy?

Directives like ssl_certificate, ssl_protocols, proxy_set_header Upgrade, and gzip on are omitted because Caddy handles TLS management, WebSocket upgrading, and compression automatically by default.