LSL syntax checker: check your Second Life script online
Paste your LSL script and find syntax errors, undeclared names, type mistakes and common Second Life traps in seconds, with tips in plain words. Free.
Kodun sunucumuzda denetlenir ve hemen silinir. Hiçbir zaman saklanmaz ya da paylaşılmaz.
What the checker finds
The checker reads your script the way the Second Life compiler does, without running it, and lists every problem with its line number and a tip in plain words:
- Syntax errors: a missing ; at the end of a line, a missing ) or }, an unclosed quote.
- Names: variables or functions that are used but never declared, typos and wrong capital letters (LSL is case sensitive), and names that clash with built-in LSL constants, such as SCALE or ROTATE.
- Types: a string put into an integer, wrong casts, a function that returns a value without a return type.
- Function calls: too few or too many parameters for a built-in function.
- Warnings: variables that are never used, = written where == was meant, conditions that are always true or false.
- Second Life traps: more than 12 llDialog buttons, button labels over 24 bytes, llDialog text over 512 bytes, hover text over 254 bytes, and a global key compared with NULL_KEY before it has a value.
How to use it
- Copy your script from the viewer's script editor (Ctrl+A, then Ctrl+C).
- Paste it into the box above and press Check script.
- Click a result to jump to that line. Fix it, then check again until no errors are left.
Not sure where to start? Press Load an example to see a script with two small mistakes.
What it cannot check
The checker does not run your script, so it cannot know what happens in-world: whether an object has the right items in its Contents, whether permissions are granted, or whether the script runs out of memory while it works. A clean result means the script should compile; always test it in Second Life too.
Linden Lab adds new LSL functions from time to time. If a brand new function is reported as unknown, the checker's list may simply be one update behind.
About the checker
The checker uses lslint, a free and open-source LSL checker that many Second Life scripters use, with extra checks from WhatSL for common in-world traps. Your code is sent to our server only to be checked, and deleted right away. It is never stored or shared.
Looking for ready-made scripts? Browse our free LSL scripts.
Frequently asked questions
Is the LSL checker free?
Yes. You can check as many scripts as you like. There is only a short pause if very many checks come from the same place in a few minutes.
Does a clean result mean my script works?
It means the script should compile in Second Life. Whether it does what you want can only be tested in-world.
Is my script safe here?
Yes. Your script is checked and deleted right away. It is never stored, shown to anyone or used for anything else.