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.
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:3000Automatic 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_serverClean Redirects
Complex regex RewriteRules translate directly into human-readable redir statements.
RewriteRule ^blog/(.*)$ /posts/$1 [R=301,L]redir /blog/* /posts/{1} permanentFrequently 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.