0U
ZeroUpload
Data & Dev Config • Zero-Server RAM Execution

Convert JavaScript Object to Lua Table Online - Free, Local & Instant

Instant JavaScript Object (.js) to Lua Table (.lua) converter. 100% client-side processing in your browser RAM — zero file uploads, full privacy, drag & drop or paste raw text.

JavaScript Object → Lua Table ⇄ Swap (Lua Table → JavaScript Object)

Technical Comparison: JavaScript Object vs Lua Table

Data & Dev Config
Specification JavaScript Object (Source) Lua Table (Target)
Full Specification ES Module JavaScript Object Literal Lua / Roblox Luau Native Table Literal
File Extension & MIME .js (text/javascript) .lua (text/x-lua)
Data Typing Model Unquoted identifier keys, single-quoted strings, ES export default Dynamic (1-based arrays, dictionary records, booleans, numbers, nil)
Structure & Hierarchy Arbitrarily nested JS objects and arrays Nested associative/array tables { key = value }
Comments Support Supported (// and /* */) Supported (-- single line and --[[ block ]])
Primary Ecosystem Vite/Webpack configs, TypeScript/JS mock data, Next.js constants Roblox Studio ModuleScripts, Love2D, World of Warcraft addons, Neovim configs

JavaScript Object to Lua Table — Before & After Example

Before (JavaScript Object Input)
const data = [
  {
    id: 1,
    name: 'Alice Johnson',
    email: 'alice@example.com',
    role: 'admin',
    active: true,
    score: 98.5,
    address: {
      city: 'Berlin',
      country: 'DE',
    },
  },
  {
    id: 2,
    name: 'Bob Smith',
    email: 'bob@example.com',
    role: 'editor',
    active: false,
    score: 87,
    address: {
      city: 'Austin',
      country: 'US',
    },
  },
  {
    id: 3,
    name: 'Chiara Rossi',
    email: 'chiara@example.com',
    role: 'viewer',
    active: true,
    score: 91.25,
    address: {
      city: 'Milan',
      country: 'IT',
    },
  },
];

export default data;
After (Lua Table Output)
local data = {
  {
    id = 1,
    name = "Alice Johnson",
    email = "alice@example.com",
    role = "admin",
    active = true,
    score = 98.5,
    address = {
      city = "Berlin",
      country = "DE",
    },
  },
  {
    id = 2,
    name = "Bob Smith",
    email = "bob@example.com",
    role = "editor",
    active = false,
    score = 87,
    address = {
      city = "Austin",
      country = "US",
    },
  },
  {
    id = 3,
    name = "Chiara Rossi",
    email = "chiara@example.com",
    role = "viewer",
    active = true,
    score = 91.25,
    address = {
      city = "Milan",
      country = "IT",
    },
  },
}

return data

Frequently Asked Questions: JavaScript Object to Lua Table

How do I convert JavaScript Object to Lua Table online without uploading sensitive files? ▾

Paste your JavaScript Object data or drag and drop a .js file into the converter above. ZeroUpload parses JavaScript Object and serializes Lua Table 100% inside your browser RAM using local JavaScript—no bytes are ever sent to an external server.

How are nested objects or tabular columns mapped between JavaScript Object and Lua Table? ▾

When converting hierarchical structures (Arbitrarily nested JS objects and arrays) and tabular or config formats (Nested associative/array tables { key = value }), our engine automatically flattens or unflattens dot-separated keys (such as address.city) and preserves numbers, booleans, arrays, and null values.

Is this JavaScript Object to Lua Table converter free for commercial and production config files? ▾

Yes. The tool is completely free, requires no account or API key, and works offline once loaded. Because execution happens in local memory, it is safe for proprietary JavaScript Object, database exports, and production secrets.

Can I convert Lua Table back to JavaScript Object? ▾

Yes! Click the "Swap (Lua Table → JavaScript Object)" button at the top of the workspace or use the reverse converter link at the bottom of this page for bidirectional conversion.