What is the LLSP file format?
A file with the .llsp extension is a LEGO Education SPIKE Project, saved by version 2 of the LEGO Education SPIKE App. It holds a program a student built for a SPIKE Prime or SPIKE Essential robotics hub, together with its variables and settings. The coding environment sits on top of Scratch 3, so a project can be written with drag-and-drop word blocks or in MicroPython.
Underneath, an .llsp file is a ZIP archive. Renaming a copy to .zip and extracting it reveals a project descriptor, an .svg vector screenshot used as the thumbnail, and an embedded scratch.sb3 file. That .sb3 file is a standard Scratch 3 project, and its project.json carries the flat list of block stacks and variables exactly as they appear in the editor. In 2023 the SPIKE App 3 replaced this format with .llsp3, and the two are not interchangeable in older app versions.
Security & safety
RISK: LOWAn .llsp file is a data project, not an executable. It holds Scratch-style block code, variables, an SVG preview, and optional sound assets, none of which run on your computer outside the SPIKE App. As a ZIP archive it could in theory carry unexpected members, so extract files from unknown sources with a normal archive tool and check what is inside. Corruption of the internal project.json is a known cause of a project that will not load.
Format details
in a nutshell- MINDSTORMS Robot Inventor projects - The LEGO MINDSTORMS Robot Inventor (set 51515) app shares the same Scratch-3-based engine and can produce and read .llsp-style word-block projects, though its own projects usually carry the .lms extension.
Programs that open LLSP files
Technical details
deep spec| Encoding | ZIP-compressed binary container holding JSON, SB3, and SVG members |
| Byte order | N/A (ZIP structure is little-endian) |
| Container | ZIP archive (renamed .zip) |
| Compression | DEFLATE (standard ZIP) |
| Encryption | None; contents are stored unencrypted and can be extracted with any ZIP tool |
| Typical size | 10 KB to a few MB, depending on program size and any embedded sound assets |
| Structure | Outer ZIP contains a project descriptor/manifest (JSON), an SVG vector screenshot used as the project thumbnail/preview, and an embedded scratch.sb3 file. The scratch.sb3 is itself a ZIP that holds project.json, which stores the flat stack of code blocks and variables shown in the editor. |
| Integrity | Per-member CRC-32 stored in the ZIP directory; no separate signature or hash for the project as a whole |
| Platforms | Windows, macOS, iOS, iPadOS, Android, Chrome OS |
| Notes | Created by the word-block (icon-block) and Python programming modes of the LEGO Education SPIKE App 2 for the SPIKE Prime (45678) and SPIKE Essential (45345) sets, and also used by MINDSTORMS Robot Inventor. SPIKE App 3 replaced this format with the .llsp3 extension, and .llsp3 files are not backward-compatible with older app versions. Because the code lives inside an embedded Scratch 3 project.json, community tools can read the blocks directly. |
| Released | 2019 |
| Latest version | SPIKE App 2 project format (superseded by .llsp3 in SPIKE App 3) |
| Specification | spike.legoeducation.com |
LLSP conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about LLSP files.
Frequently asked questions
How do I open an .llsp file?
What is the difference between .llsp and .llsp3?
.llsp is the project format of the SPIKE App 2, while .llsp3 is the format of the SPIKE App 3. They are structured differently and are not interchangeable in older app versions, though the SPIKE App 3 can import a .llsp and save it as .llsp3.