Guide / xLights

How to Make a Tesla Light Show in xLights

xLights is the official way to build a custom Tesla light show, and it is free. It is also real sequencing software with a real learning curve. This is the complete workflow, including the one setting that causes most rejected files, and an honest look at whether it is the right tool for you.

What xLights is, and why Tesla uses it

xLights is free, open source software for sequencing lighting displays. It comes from the world of synchronized Christmas house displays, where people choreograph tens of thousands of bulbs to music. When Tesla added custom light shows in software v11, it adopted that ecosystem's file format, the .fseq, rather than inventing its own, and published a project directory so owners could sequence a car the same way.

Your car is treated as a lighting rig. Each light element and each closure is a channel, and you paint effects onto those channels along a timeline synced to your song.

Before you start

Custom shows run on Model S (2021+), Model 3, Model X (2021+), Model Y and Cybertruck, on software v11.0 (2021.44.25) or newer. You will need three downloads: xLights itself from xlights.org, Tesla's project directory and validator from the light-show repo, and a USB drive.

Setting up the Tesla project

  1. Install xLights, then download and unzip tesla_xlights_show_folder.zip. Keep its folder structure exactly as it is.
  2. Set the export format first. In File > Preferences > Sequences > FSEQ Version, select V2 Uncompressed. Do this before you build anything.
  3. In File > Select Show Folder, choose the unzipped Tesla directory.
  4. Open the Layout tab to see the Tesla 3D model, and make sure the 3D preview checkbox is ticked.
  5. Switch to the Sequencer tab. You are ready to build.
Step 2 is the one that bites. xLights does not default to V2 Uncompressed, and the car rejects anything else. It is the single most common reason a finished show will not load, and you find out standing in a cold driveway rather than at your desk.

One show runs on every model

This surprises people, so it is worth stating plainly: Tesla says custom shows are not model-specific. You sequence against a combined Model S and Cybertruck model that carries the superset of lights and closures across the whole fleet, and the resulting file plays on any supported vehicle. A channel your car does not physically have simply does nothing.

The practical catch is that a show authored around, say, the Cybertruck's full width light bar will land differently on a Model 3 that has no such hardware. It still plays. It just will not be the show you designed. If you are sequencing for a car you own, preview against that car's lights.

Creating the sequence

  1. File > New Sequence, then Musical Sequence, and pick your .wav or .mp3. Note that .wav files can appear hidden unless you set the file type to xLights Audio Files.
  2. In the Wizard tab choose Custom and set the frame interval to 20ms. Anything from 15ms to 100ms works, but 20ms (50 frames per second) is what Tesla recommends for nearly everything.
  3. Select Quick Start and let the sequencer load.
  4. In the view selector at the top left of the timeline, choose Group View. Double click a light group to expand it into individual left and right control. Dropping an effect on the group drives both sides at once.
  5. Place your effects, then export. Because you set V2 Uncompressed in setup, the output is already in the format the car accepts.

Shows can run up to four hours, and the old cap on the number of commands has been removed. In practice the shows people actually enjoy watching are one to five minutes.

Getting it onto the car

The USB rules are strict and unforgiving, and they are where most first attempts fail:

Insert the drive in a front USB port or the glovebox port, wait a few seconds, then in Toybox select Light Show and tap Schedule Show. If the popup reads Light Show instead of Custom Light Show, the drive itself is the problem, not your sequence. Our USB drive guide covers formatting in detail, and troubleshooting has the full checklist.

Check it before you go outside

Tesla ships a validator so you can test a sequence without a car. Run python validator.py lightshow.fseq, or use the prebuilt validator-windows.exe or validator-macos if you do not have Python. Windows users can double click the script and drag the .fseq into the window. It is a couple of minutes that saves a lot of driveway time.

When xLights is the right tool

Genuinely, it often is. Choose xLights when you want effect-by-effect authorship, where every flash is a decision you made. When you already know the software from house displays. When you want to work offline, own the project file, and iterate on it for years. When the sequencing itself is the hobby rather than an obstacle. Nothing else gives you that much control, and it costs nothing.

When it is the wrong tool

Be equally honest about the other side. xLights is a full sequencer, and the Tesla project is a small corner of it. Expect an evening for a first polished show, most of it spent learning an interface built for a different hobby. The export settings are easy to get wrong and the failure arrives late. And there is no quick way to see the result on your car short of writing a drive and going outside.

If what you actually wanted was the show and not the software, that gap is what we built for. The builder analyses your song and generates beat-synced choreography in minutes, previews it in 3D on your own model before you commit, and exports a file that already passes validation. In Chrome or Edge it can write the USB drive for you, song included, verified byte for byte. The first export is free, and you can start from a ready-made show instead of a blank timeline.

These are not really competitors. One is a workshop, the other is a shortcut. Plenty of people use the shortcut for a song they want tonight and the workshop for the one they care about.

Common questions

Is xLights free?

Yes. xLights is free, open source software for sequencing lighting displays, available for Windows, macOS and Linux from xlights.org. Tesla publishes a free xLights project directory for building vehicle light shows.

Why does xLights export a file my Tesla rejects?

Almost always the FSEQ version. xLights does not default to the format Tesla needs. In File > Preferences > Sequences > FSEQ Version you must select "V2 Uncompressed" before exporting. The other common causes are an audio file at 48 kHz instead of 44.1 kHz, a USB drive formatted as NTFS, or filenames that do not match between the .fseq and the audio file.

Do I need to build a separate show for each Tesla model?

No. Tesla states that a single show runs on any supported vehicle. You author against a combined Model S and Cybertruck model that contains the superset of lights and closures across the fleet, so a channel your car does not have simply does nothing when the show plays.

How long does it take to make a light show in xLights?

Expect an evening for your first polished show, and that is after installing xLights and learning the sequencer. You are placing effects by hand across a timeline, channel by channel. Experienced sequencers move faster, but a few minutes of music is still meaningful manual work.

Can I check a show without a Tesla?

Yes. Tesla ships a validator with the light-show repo. Run validator.py on your .fseq, or use the prebuilt validator-windows.exe or validator-macos build if you do not have Python installed. It reports whether the sequence meets the vehicle's limits.