Skip to content
Loading the editor only when it is ready

cURL to Lua Converter

Paste a cURL command and get clean, copy-paste-ready Lua code in seconds. No account required — everything runs locally in your browser.


How to use this converter

  1. Paste your cURL command into the left editor
  2. Click Convert (or press Ctrl+Enter)
  3. Copy the generated Lua code from the right panel

No server upload. No tracking. 100% client-side.


Why automate cURL-to-Lua conversion?

Writing Lua HTTP client code from scratch based on a cURL command is:

  • Tedious — manually translating flags, headers, and body formats
  • Error-prone — easy to miss headers, mistype URLs, or forget auth
  • Slow — copying from browser DevTools and reformatting takes time

This converter does it instantly — paste cURL, get Lua code.


What the converter handles

  • All HTTP methods (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS)
  • Request headers and body (JSON, form-data, binary)
  • Authentication (basic auth, bearer tokens, API keys)
  • Cookies and session handling
  • Query parameters
  • Custom user agents

Common use cases

  • Converting cURL from browser DevTools to Lua code
  • Translating API documentation examples to Lua
  • Generating boilerplate HTTP client code
  • Sharing API requests with team members who use Lua
  • Migrating shell scripts to Lua applications

Frequently asked questions

Does this support all cURL flags?

The converter supports all common HTTP-related cURL flags including -X, -H, -d, --data-raw, -F, -u, -b, -A, and --compressed. Shell-specific features like environment variables and subcommands may not be fully supported.

Is my cURL data sent to a server?

No. All conversion runs locally in your browser using client-side JavaScript and WebAssembly. Your cURL command never leaves your machine.

Can I use the output directly in my Lua project?

Yes. The generated code follows idiomatic Lua patterns and is ready to paste into your project.

Does this work with large or complex cURL commands?

Yes. The converter handles multi-line cURL commands, complex headers, and large request bodies — all processed locally in your browser.


Related tools on LangStop