Funscript Validator
Drop in a .funscript file to find what stops it playing or makes it play badly: invalid JSON, missing or malformed actions, timestamps out of order or repeated, positions outside 0 to 100, and moves faster than your device can follow.
Runs entirely in your browser. The file is never uploaded.
Check a file
What the validator checks
A funscript is a JSON file. Players read its actions list, where each action is a time in milliseconds (at) and a position from 0 to 100 (pos). The full field-by-field reference is in the funscript format explained.
Errors: the file will not load, or loads wrong
- The text is not valid JSON, or the top level is not an object.
- There is no
actionslist, or an action is missingatorpos, or holds something other than a number. - A timestamp is negative, or a position is below 0 or above 100.
Warnings: the file loads, but playback suffers
- Actions are not in time order. Many players assume they are.
- Two actions share the same timestamp, so the device is asked to be in two places at once.
- Times or positions have decimals. The format uses whole numbers, and some players round or refuse them.
- A move is faster than the speed limit you set. Set it to your device's top speed; strokes faster than that are cut short.
inverted,rangeorversionhold the wrong kind of value.
Notes
- Pauses longer than a minute, fields the format does not define, and what the file's
metadatasays.
Your file stays on your computer
The page reads the file with your browser's own file reader and does all the checking in this tab. There is no upload and no server call, so it works the same with your network unplugged. The repaired copy is made in the tab too, and saved by your browser.
Read next
- The funscript format explainedEvery field, what players do with it, and a complete example.
- What is a funscript?How a list of times and positions drives a device in time with a video.
- Generate a funscript from a videoAutoScript Sync writes the file for you from the motion in the video, on your own PC.