bl_infoblender_manifest.toml

Blender 4.2 replaced add-ons with extensions. Paste your old __init__.py below and get the manifest it needs — plus the code changes a manifest can’t express. Everything runs in your browser: nothing is uploaded, nothing is stored, no sign-up.

This converter is free and stays free. The thing I am trying to sell is Hair Cards — hair curves to game-ready cards in one click, $29. It is not built yet; that page is how I find out whether it should be.

1. Paste your __init__.py

One question, if you have ten seconds

I’m a solo developer working out which Blender add-on to build next. Which repetitive Blender chore would you pay to never do again? Reply with one sentence — that’s the whole survey, and it decides what gets built.

Tell me on GitHub → (one line is plenty — no account of mine required, no newsletter, no follow-up)

What changed in 4.2, briefly

Legacy add-onExtension (4.2+)
bl_info dict in __init__.pyblender_manifest.toml file
version as a tupleversion as a "1.4.2" string
category, one stringtags, a list from a fixed vocabulary
Licence unstatedlicense required, SPDX identifiers
Plain import my_moduleRelative from . import my_module
Any Blender versionblender_version_min4.2.0
Network access unannouncedDeclared under [permissions]

Official reference: Blender Manual — Extensions. Tag names and SPDX identifiers are validated at upload; check yours against the manual if this page marks one as unmapped.

What this does and doesn’t do

It reads your bl_info and writes the manifest fields it can honestly derive. Where the manifest needs something bl_info never carried — a licence, a contact email, a tagline under 64 characters — it fills in a marked placeholder and tells you, rather than guessing and leaving you with a file that looks finished but is wrong. It does not rewrite your Python, and it does not build the zip.