nginx Config Generator
Build nginx server blocks
Generate nginx configs for static sites, SPAs, reverse proxies and redirects, with HTTPS, gzip, caching and security headers.
- nginx
- Config
- Reverse proxy
How to use nginx Config Generator
- Choose a preset: Static site, SPA (unknown paths fall back to
index.html), Reverse proxy, PHP-FPM, or Redirect. - Fill in the
server_name, the document root or upstreams, and switch the options you want: HTTPS with HTTP/2 or HTTP/3, HSTS, gzip, asset caching, security headers, rate limiting, WebSocket headers and logs. - Read any warnings under the output, then copy the config or download it as
nginx.conf. - Put it in
/etc/nginx/conf.d/(orsites-available), runnginx -tto check it, thennginx -s reload.
How it works
The config is built as plain text from your options by a small function in the page, so it updates as you type. Each preset has its own location blocks: static sites use try_files $uri $uri/ =404, SPAs fall back to /index.html, PHP passes .php to fastcgi_pass, and the reverse proxy writes an upstream block (round robin, least_conn or ip_hash) and the usual Host, X-Real-IP, X-Forwarded-For and X-Forwarded-Proto headers. With HTTPS on, a separate port-80 server keeps the ACME challenge path open and redirects everything else with a 301. TLS is limited to TLSv1.2 and TLSv1.3. Values you type are checked before they are written, so a quote, semicolon or brace cannot end a directive or open a new block.
Limits
- The config is generated, not tested: nginx is never run here. Always check it with
nginx -ton your server. - Output is one
serverblock (plus an optionalupstream,mapandlimit_req_zonein thehttpcontext), meant forconf.d, not a completenginx.confwitheventsandhttp. - Brotli needs the
ngx_brotlimodule, so only a comment is written. HTTP/3 needs nginx 1.25 or newer built with QUIC, and UDP port 443 open. http2 on;needs nginx 1.25.1 or newer; on older versions puthttp2aftersslon thelistenline.- Values containing spaces or characters nginx treats as syntax (quotes,
;,{,},$) are refused with a warning. A Content-Security-Policy is not generated; use the CSP Builder.
Privacy
Everything is generated in your browser. Nothing you type is uploaded or stored. Share copies a link that holds your options in the URL’s # fragment, which browsers don’t send to servers.
Frequently asked questions
Why is there a second server block on port 80?
With HTTPS on, port 80 only serves the Let’s Encrypt challenge path and sends everything else to HTTPS with a 301 redirect.
Why are security headers missing inside my asset location?
In nginx, add_header in a location replaces the ones inherited from the server block. Repeat the headers there if you need them on cached assets.
Should I turn HSTS on?
Only once HTTPS works for the whole site. Browsers remember HSTS for a year (the generated max-age), so a broken certificate cannot be bypassed.
How do WebSocket headers work?
The proxy sends Upgrade and a Connection value from a map block, so normal requests keep their connection handling and WebSocket requests are upgraded. The read timeout is raised to one hour.
More tools
- Clean Image: Inspect and remove hidden image metadata
- JWT Decoder: Decode and verify JSON Web Tokens
- Diff Checker: Compare two texts line by line
- JS Runner: Run JavaScript and TypeScript in your browser
- JSON Formatter: Format, validate and minify JSON
- Encode / Decode: Base64, URL, HTML entity and hex
- Hash Generator: MD5, SHA and HMAC of any text
- UUID Generator: Generate UUID v4 and v7 in bulk
- Timestamp Converter: Unix time ↔ human dates
- Regex Tester: Test regular expressions live
- URL Parser: Break a URL into its parts
- HTTP Status Codes: Look up any HTTP status code
- MIME Type Lookup: File extension ↔ MIME type
- Password Generator: Strong random passwords and passphrases
- Random String Generator: Random tokens, IDs and keys
- Slug Generator: Turn titles into URL slugs
- Case Converter: camelCase, snake_case, Title Case and more
- Word Counter: Count words, characters and reading time
- JSON to TypeScript: Generate TypeScript types from JSON
- JSON Diff: Compare two JSON documents structurally
- JSON to SQL: Turn JSON arrays into SQL inserts
- YAML ↔ JSON: Convert between YAML and JSON
- XML ↔ JSON: Convert between XML and JSON
- CSV ↔ JSON: Convert between CSV and JSON
- CSV Viewer: View, sort and filter CSV files
- SQL Formatter: Format and beautify SQL queries
- cURL ↔ Fetch: Convert cURL commands to fetch and back
- Markdown Editor: Write Markdown with a live preview
- Text Cleaner: Remove duplicate lines, empty lines and extra spaces
- Find & Replace: Find and replace in any text
- Cron Expression Builder: Build and explain cron schedules
- User-Agent Parser: Identify browser, OS and device from a user agent
- HTTP Headers Inspector: Paste response headers and get them explained
- JWT Generator: Create and sign test JSON Web Tokens
- Certificate Inspector: Decode PEM certificates and keys
- Meta Tag Inspector: Check a page's SEO and social tags
- UTM Builder: Build campaign URLs with UTM parameters
- URL Cleaner: Strip tracking parameters from links
- Robots.txt Generator: Create and test a robots.txt file
- Sitemap Generator: Create an XML sitemap from a list of URLs
- Image Compressor: Shrink JPEG, WebP and AVIF images in your browser
- Image Resizer: Resize images by pixels, percentage or to fit a box
- Image Converter: Convert between PNG, JPEG, WebP and AVIF
- Image to Base64: Encode images as Base64 data URIs and decode them back
- SVG Optimizer: Minify and sanitize SVG files
- Favicon Generator: Make favicon.ico, Apple and Android icons from an image or emoji
- Color Converter: HEX, RGB, HSL, OKLCH and contrast checks
- Number Base Converter: Binary, octal, decimal, hex and float bits
- IP / CIDR Calculator: Subnets, masks and IP ranges for IPv4 and IPv6
- JSONPath Query: Query JSON with JSONPath expressions
- JSON Schema Validator: Validate JSON against a schema, or generate one
- Semver Checker: Check versions against semver ranges
- chmod Calculator: Unix permissions: rwx ↔ octal
- .env Diff: Compare and validate .env files
- TOTP Generator: Generate and verify 2FA codes
- String Escaper: Escape and unescape strings for any language
- Unicode Inspector: See every character, code point and hidden symbol
- Mock Data Generator: Generate realistic fake data
- QR Code Generator: Create QR codes for links, Wi-Fi and contacts
- Lorem Ipsum Generator: Placeholder text in paragraphs, sentences or words
- Date Calculator: Date differences, business days and durations
- Unit Converter: Convert bytes, lengths, weights, temperatures and more
- Query CSV with SQL: Run SQL queries on CSV files
- PDF Merge & Split: Merge, split, reorder and rotate PDFs
- PDF Metadata Cleaner: See and remove hidden PDF metadata
- Office Metadata Cleaner: Remove author and revision data from Word, Excel and PowerPoint
- Images to PDF: Combine images into one PDF
- Image Editor: Crop, rotate, resize and adjust images
- Encrypt / Decrypt Text: Encrypt text with a passphrase (AES-GCM)
- SSH Key Generator: Generate Ed25519 and RSA SSH keys locally
- Email Header Analyzer: Trace an email's path and check SPF, DKIM and DMARC
- JSON to Code: Generate Go, Python, Rust, Java, C# and Kotlin models from JSON
- docker run ↔ Compose: Convert docker run commands to docker-compose and back
- Color Palette Extractor: Pull the dominant colours out of any image
- Password Strength Checker: How long would your password take to crack?
- SPF / DKIM / DMARC Checker: Validate and explain email DNS records
- Kubernetes YAML Checker: Validate and explain Kubernetes manifests
- .gitignore Generator: Build a .gitignore from presets
- CSP Builder: Build and check a Content-Security-Policy
- JSON-LD Generator: Create schema.org structured data
- Open Graph Image Generator: Make 1200×630 social preview images
- CSS Generator: Gradients, shadows, clamp() and more
- Time Zone Meeting Planner: Find meeting times across time zones
- HAR Viewer: Inspect browser network recordings (HAR)
- Log Viewer: Filter and search JSON log files
- TOML ↔ JSON: Convert between TOML and JSON
- HTML to Markdown: Turn HTML into clean Markdown
- Markdown Table Generator: Build and format Markdown tables
- GraphQL Formatter: Format and minify GraphQL
- Protobuf Decoder: Decode raw protobuf bytes
- Bcrypt Generator: Hash and verify bcrypt passwords
- Image Diff: Compare two images and see what changed
- Keyboard Event Viewer: See key, code, keyCode and modifiers for every keypress
- JSON Tree Viewer: Explore large JSON as a collapsible tree
- XML Formatter: Format, minify, validate and query XML
- HTML & CSS Minifier: Minify or beautify HTML and CSS safely
- Aspect Ratio Calculator: Work out sizes that keep the same ratio
- Morse Code Translator: Text ↔ Morse code, with sound
- Text to Speech: Read text aloud with your browser's voices
- Placeholder Image Generator: Make placeholder images of any size
- Duplicate File Finder: Find duplicate files by content
- Invoice Generator: Create PDF invoices in your browser
- QR Code Reader: Read QR codes from images
- Barcode Generator: Create Code 128, EAN-13, UPC-A and more
- Signature Pad: Draw a signature as a transparent PNG
- Loan / EMI Calculator: Monthly payments, interest and schedule
- Percentage Calculator: Percent of, change, discounts and tax
- Stopwatch & Timer: Stopwatch, countdown and Pomodoro
- Notepad: Quick notes saved in your browser
- Random Picker: Pick names, make teams, flip coins
- PDF to Images: Convert PDF pages to JPG or PNG
- Excel to CSV / JSON: Convert .xlsx sheets to CSV or JSON
- SIP & Compound Interest Calculator: See how investments grow over time
- Age Calculator: Exact age in years, months and days