LSL → SLua Converter

Translate your scripts.
Ancient language, modern output.

The LSL-to-SLua converter for Second Life. Free mechanical conversion for any script. AI-refined Pro tier that produces idiomatic SLua — state-machine refactoring, LLTimers, full type annotations, explained line-by-line.

◈  Paste your LSL
SLua Output  ◈
LSL Editable — paste your script
SLua Converted output

      
Click  Convert  to run the free Tier 1 transpiler
Your output
◈ ◈ ◈

See what Pro produces.

Tier 1 gives you syntax-correct SLua that runs. Pro sends the original LSL + Tier 1 output to Claude, which refactors to idiomatic SLua and explains every change. Below: a real capture from our greeter.lsl test fixture.

Tier 1 · Mechanical 35 lines · syntax-correct

    
Tier 2 · Claude-refined 29 lines · 3 refinements

    
line 11
Inlined ll.Say(0, greeting) directly, removed the __rs_state_entry wrapper.
SLua runs top-level code at script start — no manual invocation needed like LSL's state_entry.
line 13
Replaced the MANUAL: placeholder with a real LLTimers:every(5.0, ...) block.
Idiomatic post-2026-04-09 SLua: LLTimers:every is the first-class replacement for LSL's llSetTimerEvent + timer event pair.
line 17
Removed the timer handler from LLEvents:handlers.
Its logic moved into the LLTimers callback above; keeping the handler would be dead code.
◈ ◈ ◈

Simple pricing.

Mechanical conversion is free forever. Pro tier unlocks Claude refinement with explanations — pay per conversion or go unlimited.

Free No account
Free · forever
Try it above. No signup.
  • Mechanical syntax conversion
  • Unlimited scripts
  • Structural parser · state simulation
  • All ll.* function renames
  • Manual-review flags for risky patterns
Single Pay as you go
$2 · one-time
L$500 · 1 conversion
  • One Claude-refined conversion
  • Idiomatic SLua output
  • Line-by-line explanations
  • State-machine refactoring
  • LLTimers / LLEvents modernization
10-Pack Best value
$12 · one-time
L$3,000 · $1.20 each
  • 10 Claude-refined conversions
  • 40% off the single-conversion price
  • Credits never expire
  • All Pro features
50-Pack Power user
$40 · one-time
L$10,000 · $0.80 each
  • 50 Claude-refined conversions
  • 60% off the single-conversion price
  • Credits never expire
  • All Pro features
Unlimited Monthly
$20 / month
L$5,000/mo · Cancel anytime
  • Unlimited Claude-refined conversions
  • For heavy-conversion months
  • All Pro features
  • Cancel from the Stripe portal
◈ ◈ ◈

Key transformations.

A quick reference for what the free Tier 1 transpiler handles automatically.

llSay(0, msg)
ll.Say(0, msg)All ll* functions
integer / float
local x: numberType annotations
list items = []
local items: table = {}List to table
if (x > 0) {
if x > 0 thenControl flow
state open;
__rs_state("open")State simulation
!=   &&   ||
~=   and   orOperators
"a" + b
"a" .. bString concat
integer end
local end_r: numberKeyword rename
<1.0, 0.8, 1.0>
vector(1.0, 0.8, 1.0)Vector literals