Job Posting Schema Generator
Create valid Job Posting JSON-LD structured data for your job openings — with organization, location, salary and remote support, ready for Google for Jobs. Instant, in your browser, free.
Try an example
Job title & type
Dates
Hiring organization
Location
Salary (optional)
JSON-LD code
Fill in the required fields (title, description, date posted, company) to generate the JSON-LD code.
How do I get into Google for Jobs?
Google for Jobs is the job-search experience that appears at the top of Google results when someone searches for work. It is powered entirely by JobPosting structured data: Google reads the JSON-LD on your careers page to understand the role, company, location and salary, then shows your listing directly in search — for free, with no job board or fee involved. To be eligible, each job needs valid JobPosting markup on its own dedicated, indexable page, the details in the markup must match what a visitor sees, and expired roles should be removed or marked with a validThrough date in the past. This tool generates that markup for you so your openings can qualify.
Required fields for job postings
Google requires a job title, a full job description (HTML is allowed and encouraged), the date the job was posted, and a hiring organization — those four are what this tool enforces before it outputs code. A job location is required for on-site roles; for remote positions you instead set jobLocationType to TELECOMMUTE and specify the country applicants may work from, which the Remote checkbox handles automatically. Strongly recommended additions are validThrough (when the posting expires), employmentType, and baseSalary — Google increasingly highlights salary information, so providing it can make your listing more prominent and trustworthy.
How to add the schema to your site
Copy the generated code and paste it into a script tag of type application/ld+json in the head section of the individual job page it describes — one posting per page. The title, description and location in the markup must match the visible content. Once the page is published and indexed, Google can pick it up for the Jobs experience. A minimal example looks like this:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "JobPosting",
"title": "Senior Frontend Developer",
"description": "We are looking for an experienced frontend developer.",
"datePosted": "2026-07-11",
"employmentType": "FULL_TIME",
"hiringOrganization": {
"@type": "Organization",
"name": "ACME GmbH"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "Berlin",
"addressCountry": "DE"
}
}
}
</script>Frequently asked questions
Which fields are required for JobPosting schema?
Is Google for Jobs really free?
How do I mark up a remote job?
Do I need a separate page for each job?
How do I check that the markup is valid?
What is JobPosting schema markup?
Does valid markup guarantee my job appears in Google for Jobs?
What if the salary isn't a fixed number?
Should I also add Organization schema for my company?
How long should a job posting stay valid?
What are common mistakes when adding JobPosting schema?
What's the difference between the employment types?
Related tools
FAQ Schema Generator
Generate FAQPage JSON-LD for AI search and structured Q&A data.
Article & Blog Posting Schema Generator
Generate Article, Blog Posting or NewsArticle JSON-LD for your posts.
Recipe Schema Generator
Generate Recipe JSON-LD with ingredients, steps and times for rich results.
Course Schema Generator
Generate Course JSON-LD for online and in-person courses and e-learning.
Schema Markup Validator
Validate a live URL or JSON-LD code: SEO score, errors, warnings and rich-results readiness.
Organization Schema Generator
Generate Organization JSON-LD with logo, social profiles and contact for E-E-A-T.
