The Marsen toolbox / Developer
Free schema markup generator
Turn your published business details into structured data you can add to your website.
Start with your input
Run the Schema Generator
Generate and download a JSON-LD draft with stable entity IDs from supplied facts, entirely in your browser.
Schema generator guide · reviewed 28 September 2026
Generate the markup your page can support.
Choose a schema type, enter your published facts, then copy or download the JSON-LD draft. The schema generator builds code locally and gives each entity a stable @id. It does not fetch your website or run a search-engine validation test.
Which schema type should you use?
| Type | Describes | Useful facts | Before publishing |
|---|---|---|---|
| Organization | A company or other organization | Published name, canonical URL, logo, public phone and official profiles. | Use a page that explains the organization, such as the home or about page. |
| LocalBusiness | A business with a physical location | Business identity and its real postal address. | Choose a more specific subtype when your business needs one; this builder outputs the general type. |
| Service | A service offered by a provider | Service name, provider, category and the actual area served. | Use on the page describing that service. A Service node is not a promise of a dedicated Google rich result. |
| SoftwareApplication | A software application | Application name, platform, category and a published price when available. | This generator does not create ratings. Review Google's separate requirements for software-app search features. |
| Article | An editorial article | Visible headline, author, representative image and genuine publication dates. | The article headline becomes headline, and the canonical URL identifies its main web page. |
More than one entity can appear on a page, but each node needs a clear purpose. Check what your CMS or SEO plugin already emits before adding another description of the same entity.
Worked example
Markup for this free browser tool.
The example describes the tool on this page: its name is Marsen Schema Generator, it runs in a web browser, and generating markup is free. Those facts are visible here. The zero-price offer describes this tool, not Marsen's paid products or implementation services.
The stable @id identifies this entity so another JSON-LD node can refer to it without restating conflicting facts. Keep the same ID wherever the same entity is described.
There is no review score or invented user count in the example. Consequently, this basic application markup does not satisfy Google's complete software-app rich-result requirements.
For your own page, replace every value with a real published fact. If the price is unknown or available only by quotation, leave the offer out instead of entering zero.
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"@id": "https://www.marsentech.com/tools/schema-generator#software-application",
"name": "Marsen Schema Generator",
"url": "https://www.marsentech.com/tools/schema-generator",
"description": "A browser tool that generates JSON-LD drafts for Organization, LocalBusiness, Service, SoftwareApplication and Article.",
"applicationCategory": "DeveloperApplication",
"operatingSystem": "Web browser",
"offers": {
"@type": "Offer",
"price": 0,
"priceCurrency": "USD"
}
}For a complete code walkthrough, read our tested JSON-LD implementation guide for Astro, with downloadable source, built output and validator screenshots.
Inspect a draft for each supported schema type.
These five examples were generated with this tool on 28 September 2026. Every business name, address, author, date and image is illustrative. The example.com URLs are placeholders. Replace the values with facts visible on your own page before using any draft.
- Organization JSON-LD example
- LocalBusiness JSON-LD example
- Service JSON-LD example
- SoftwareApplication JSON-LD example
- Article JSON-LD example
Read the example notes, exact inputs and local test results. The checks confirm the builder's type, identifiers and serialization, reject invalid input, and check HTML-sensitive text handling. These five fixtures have not been submitted to external validators. The separate Astro walkthrough contains its own dated validator evidence.
The SoftwareApplication example has no rating or review and is incomplete for Google's software-app feature. Service describes vocabulary rather than a dedicated rich-result feature. A LocalBusiness draft needs the real business address; a fictional address is never an acceptable substitute.
Resolve conflicting markup before adding more.
| What you see | What to inspect | Next step |
|---|---|---|
| Two definitions of the business | CMS plugin, theme and manual scripts | Choose one maintained definition. Reuse its stable @id when other entities refer to it. |
| Different names or phone numbers | Visible contact details and each schema owner | Correct the underlying facts and remove the stale conflicting definition. |
| “No items detected” in Google's test | Whether the type has a supported Google feature | Check vocabulary separately; do not add an unrelated type just to trigger detection. |
| Syntax passes but required properties are missing | The current feature-specific documentation | Add only facts the real page supports. Leave the feature incomplete if the evidence is unavailable. |
| Code test passes but the live URL fails | Deployed HTML, redirects, crawl controls and current canonical | Test the live page and inspect Search Console's recorded state. |
An @id-only reference is different from a second complete definition. Several JSON-LD blocks can be legitimate when they describe distinct entities. The implementation guide's duplicate checker explains its checks and limitations.
How to add JSON-LD to your website.
Start with the visible page.
Confirm the name, canonical URL, description and any optional details. Structured data should describe the content people can actually access on that page. Do not create a separate empty page just to hold the markup.
Generate and inspect the draft.
Choose the closest supported type and fill only the fields that apply. Check spelling, public URLs, article dates, the stable ID and the price's currency. Missing optional values are omitted. A missing Google-required property still needs attention even if the generator accepts the draft.
Run two different checks.
Paste the JSON-LD into the Schema Markup Validator to inspect the vocabulary and syntax. Then use the Google Rich Results Test to check supported search features. A type not detected by the latter can still be valid schema.org vocabulary.
Publish once on the relevant page.
Copy script provides the JSON-LD script wrapper for the page's head or body. Copy or download JSON-LD provides just the JSON for a CMS field or implementation repository. Avoid duplicate, conflicting output from themes and plugins. This generator escapes HTML-sensitive characters in copied JSON.
Test the live URL and monitor.
Check the deployed page again, then inspect its URL in Google Search Console. Ensure crawling and indexing are allowed. Where Google supplies an applicable enhancement report, monitor it for errors after template or content changes.
Implementation reference: Google's introduction to structured data.
Validity and eligibility are different
A JSON-LD draft is the beginning of validation.
Schema.org validity
The vocabulary defines entity types and properties. A well-formed JSON-LD document can describe an organization or service without qualifying for a special search display. This tool checks basic input formats; it is not a replacement for a vocabulary validator.
Google search eligibility
Google documents the features it supports and their individual requirements. LocalBusiness needs a business name and address. Article has recommended properties rather than a mandatory property list. SoftwareApplication requires a qualifying rating or review as well as an offer price.
Actual search appearance
Google decides when to show a supported feature. Passing a test does not guarantee rich results, improved rankings, indexing or AI citations. Keep the content accurate and useful; do not add claims only to satisfy a test.
Check the primary guides for LocalBusiness, Article, SoftwareApplication, Organization and general structured-data policies.
Common schema mistakes to catch before publishing.
- Using the home page URL for an article that has its own canonical URL.
- Entering zero as a placeholder when the software is not free.
- Using a logo where an article needs an image representative of its content.
- Adding invented review scores, locations or publication dates.
- Describing a different business or service from the one visible on the page.
- Assuming a copied draft has already been validated by Google.
For broader discovery work, explore Marsen Search. For help implementing and checking your own markup, talk to Marsen.
Need to check something else?
Related free tools.
These tools can help you look at another part of the same problem.
What does this free schema markup generator do?
It turns facts you enter into a JSON-LD draft for five schema types. Generation runs in your browser without an account. It does not crawl your website or certify Google rich-result eligibility.
Which schema types can I generate?
Choose Organization, LocalBusiness, Service, SoftwareApplication or Article. The form changes to show relevant optional fields. Select the type that describes the main entity on the page.
What is the difference between JSON-LD and schema markup?
Schema.org supplies the vocabulary for describing things such as organizations and articles. JSON-LD is a format for expressing that vocabulary in a script element on a web page.
Where do I put the generated JSON-LD?
Use Copy script and add the result once to the relevant page's head or body, or use your CMS structured-data field. If the CMS expects only JSON, copy or download the JSON-LD instead. Check existing plugin output first to avoid conflicting duplicates.
Does valid schema guarantee rankings or rich results?
No. Valid vocabulary and syntax are only part of the process. Google applies type-specific requirements, content policies and its own display decisions. This tool does not guarantee indexing, rankings, AI citations or rich results.
How do I validate my generated schema?
Check vocabulary and syntax in the Schema Markup Validator, then use Google's Rich Results Test for supported search features. After publishing, test the live URL and use Search Console to check how Google accesses the page.
Can I create LocalBusiness schema without an address?
The generator lets you create a partial draft, but Google's LocalBusiness feature requires an address as well as a business name. Add the real address only when appropriate for the page. Never invent a location to complete the markup.
Why does SoftwareApplication output have no ratings?
This generator never creates review or rating claims. Google's software-app rich-result requirements include a qualifying rating or review and an offer price. A basic application draft can be useful vocabulary while remaining incomplete for that feature.
Can this generator create FAQPage or Product schema?
Not currently. This tool supports the five listed types. Do not substitute Service or SoftwareApplication for an unrelated product, and do not add FAQPage markup expecting a guaranteed FAQ search appearance.
Are the values I enter sent to Marsen?
Schema generation and copying happen locally in your browser. The tool does not send your name, URLs, address, article details or generated markup to a generation service. Site analytics may record that generation completed, without these field values.
You have a result. Now what?
Let’s turn it into a useful improvement.
Help me with the next stepBring us your result. We’ll help you decide what to fix first and make the changes.