What is the OBJECTION file format?
An .objection file is a project saved from the objection.lol Objection Maker, a browser tool for building courtroom animations in the style of Capcom's Ace Attorney games. The site, made by the developer known as HappySylveon, has been running since around 2019.
Each file records the frames that make up a scene. For every frame it stores the character, the pose or animation, the dialogue text, text speed, the speech-bubble style, background, music and sound cues, actions and pauses. Under the hood the file is a single Base64 string. Decode that string and you get a readable .json object, so the Base64 layer is light obfuscation rather than real protection. Characters, sounds and backgrounds are referenced by objection.lol IDs instead of being embedded, which keeps the file small but ties playback to the website.
You will run into .objection files when fans share courtroom skits, when meme makers pass projects around, or when developers automate trials with libraries such as objectionpy.
Security & safety
RISK: LOWAn .objection file is passive text data (Base64-wrapped JSON) with no executable code or macros, so it cannot run on its own. The only practical caution is that the referenced characters, sounds and images are pulled from objection.lol at playback time, and imported projects may contain unexpected or NSFW content, so preview unfamiliar files.
Format details
in a nutshellPrograms that open OBJECTION files
.objection file to edit or preview it in the browser. pip install objectionpy, then load the .objection file in a script to inspect, edit or regenerate its frames programmatically. .objection file into a readable plain-text transcript of the dialogue. Technical details
deep spec| Encoding | Base64-encoded UTF-8 JSON |
| Byte order | N/A (text) |
| Container | Single Base64 text blob wrapping one JSON object |
| Encryption | None (Base64 is an obfuscation, not encryption) |
| Typical size | A few kilobytes to several hundred KB, depending on frame count and inline asset references |
| Structure | The file is one long Base64 string. Decoding it yields a JSON object describing an objection: an array of frames plus project metadata. Each frame carries a character/pose selection, dialogue text, text speed, speech-bubble type, background, sound effects, actions, pauses and fade effects. Assets (characters, sounds, backgrounds) are referenced by objection.lol IDs rather than embedded, so playback depends on the objection.lol service. |
| Platforms | Web, Windows, macOS, Linux, Android, iOS |
| Notes | Produced by the Project > Save (export) function of the objection.lol Objection Maker. Because the payload is plain Base64/JSON, third-party tools such as objectionpy can decode, edit and regenerate the file. There is no local desktop application; the format is bound to the web app. |
| Media Type | Ace Attorney-style courtroom animation project |
| Released | 2019 |
| Specification | pypi.org |
OBJECTION conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about OBJECTION files.
Frequently asked questions
How do I open an .objection file?
.objection file. It loads into the editor where you can preview it.Why won't my .objection file open in a normal program?
Can I turn an .objection file into a video?
.mp4. You need a free objection.lol account to export.