Hunt down each string, hand-edit CustomLabels.labels-meta.xml, update every reference, repeat a hundred times — across three different syntaxes. Hours of zero-value work most teams keep postponing.
Until the day it lands on the critical path:
Custom Labels are how Salesforce translates UI text. Every hardcoded string is one that can't be translated — so localization stalls until they're all converted.
Hardcoded user-facing strings get flagged in peer reviews, PMD scans, and the AppExchange security review. Reviewers expect Custom Labels — and send the work back when they're missing.
Once a string is hardcoded inside a managed package, changing one word means a whole package version and upgrade cycle. Convert before you package — not painfully after.
Label Alchemy converts them all in seconds — so it never becomes the thing blocking your release.
Run Label Alchemy on a file or your entire project. It finds every user-facing hardcoded string and generates a clean, consistent label name — instantly, with nothing to configure.
A side-by-side diff shows exactly what will change before anything is touched. Edit label names, exclude strings you want to keep, and confirm only what you're happy with.
One click updates your code and generates the Custom Label metadata — ready to deploy. No manual Setup clicks. No hand-edited XML. And every conversion writes a timestamped change record — a summary plus a deployable package.xml — to your project, no git required.
Label Alchemy is almost ready. Drop your email and you'll be the first to know the moment it's live on the VS Code Marketplace — plus first crack at the Founding Member deal: the full perpetual license for $39 (then $49), with early access to new features, limited to the first 100.
You're on the list. Watch your inbox — you'll get the launch + founding-member link first.
Demo coming soon
Most of it's free. The heavy lifting — your whole project at once — is the paid upgrade.
Deterministic naming runs entirely on your machine — fast, free, and private. Want richer names? Bring your own LLM or a local model — your choice, every time. See how AI naming works →
Understands each language's syntax. Detects the right strings (toast messages, error text, labels, placeholders) and skips API names, SOQL, debug calls, and framework internals automatically.
Nothing changes without your review. Check or uncheck individual labels, edit any name inline (validated live against Salesforce rules), then apply only what you're happy with.
Set a Salesforce category on your labels right in the review panel — per label, or across a whole file in one click. It writes straight to <categories>, so your labels land in the org already sorted instead of dumped in one bucket.
Same text again? Label Alchemy automatically reuses the label it already has — across files in one pass, and across separate scans, days apart by reading your existing labels file. Identical strings collapse to one shared label with zero clicks, and new labels merge into your XML for you.
One approval flow across your whole project, deduped as it goes — the same text anywhere converts to one shared label, so there's no duplicate sprawl to clean up. Grouped by component bundle, with streaming writes that handle thousand-file projects without breaking a sweat.
After you approve the diff, it runs sf project deploy start on just the modified files and new labels — no terminal step. Re-deploy any file or folder from the context menu. A guardrail blocks production orgs; deploys go to sandboxes and scratch orgs only.
Automatic reuse handles identical text — but what about a value that already has a label under a different name? That slips through when you rename a label by hand or let AI name it fresh. Label Alchemy flags it at write time and lets you reuse the existing label or create a new one anyway — one prompt, no duplicate-value sprawl.
A built-in technical denylist ships free — HTTP verbs, MIME/charset tokens, and dynamic-SOQL fragments never get flagged. With a license, add your noise — brand and product names, enum/API values, status codes, feature-flag names — so the scanner leaves them alone. Manage it in a click from the Audit Report (no JSON editing); matching is whole-value and case-insensitive. Commit it to your workspace so every developer scans by the same rules.
No git required. Each convert writes a timestamped record to labelalchemy-changes/ — a readable summary.md, the same data as CSV, and a portable package.xml you can deploy or hand to a teammate. A one-click Open summary appears the moment it finishes — whether or not you deploy.
Reviewable, migratable, yours — clean to hand to a code or security reviewer.
Written on every convert · deploy package.xml or hand it off
Naming works offline out of the box — no API key, nothing sent anywhere. Want richer, context-aware names? Bring your own LLM, or run a fully local model via Ollama. Either way your source stays put — clean for security reviews, locked-down enterprise orgs, and strict data-governance policies.
The free Audit Report scans your whole project and tells you exactly how much hardcoded-string debt you're carrying. Bulk convert clears it in a single pass.
Read-only · across 96 files · hand it to a lead or client
Run the audit free, anytime. Numbers shown are illustrative — yours will reflect your actual codebase.
With a license, a custom denylist keeps your brand names and enum values out of the count — so the estimate reflects real UI text.
Scanning and single-file conversion are free, forever. To convert and deploy your whole project, buy a one-time license — yours to keep, with 12 months of updates included. No subscription to forget about; a per-seat Team plan is coming soon.
Early-bird price for the first 100 buyers — the complete perpetual license, plus early access to new features and a direct line to the developer. After 100, the price returns to normal.
PPP pricing at checkout · Limited to the first 100 buyers
Free
Always free · no credit card
Notify me at launch →Individual
Most popularOne-time · perpetual license · 12 months of updates included
Notify me at launch →Paid with your own money. Use it anywhere, including at work. Yours across employers.
Paid or reimbursed by a company.
Why updates matter: Salesforce ships ~3 API versions a year — staying current keeps Label Alchemy compatible with your org and tooling.
Team
Coming soonA per-seat subscription for growing teams
Join the waitlist →Built for consulting firms and implementation partners who hit this on every client project. Want it sooner? Join the waitlist and help shape what ships first.
Paid license: secure checkout via Lemon Squeezy · PPP pricing for India & emerging markets · 7-day refund
.cls), Lightning Web Components (.js and .html — with the sidecar .js label import added automatically), and Aura components (.js controllers, .cmp, .app). That's the full modern Salesforce UI stack. Need another format? Tell us.
Acme Corp is dropped while Acme Corporation is kept), and editing from the report re-scans in place. Save it to your workspace (.vscode/settings.json) and every developer's scan obeys the same rules.
labelalchemy-changes/ in your project containing a human-readable summary.md (labels created, files modified, component breakdown, and deploy status), a summary.csv of the same data, and a portable package.xml you can deploy or hand to a teammate. A one-click Open summary notification appears as soon as the conversion finishes, whether or not you deploy — so you always have a clear, reviewable trail of which strings became labels and which files were touched. This is free on every tier.
Everything on this page is live in v1 today — single-file and project-wide scanning, bulk convert, deploy-on-approve, and project-wide AI naming (with your own key or local model). Your license includes 12 months of updates as Salesforce, LWC, and VS Code evolve.
Free at launch. No API key. No credit card.
Get early access →