Free Job Posting Schema Generator — JobPosting JSON-LD
Job Posting Schema Generator
A job posting schema generator produces JobPosting JSON-LD with the properties Google for Jobs requires: title, description, datePosted, validThrough, hiringOrganization and jobLocation, plus employmentType and baseSalary where applicable. Missing any required property disqualifies the listing from Google Jobs entirely, and an expired validThrough date causes it to be dropped from results even if everything else is correct. Fill in the fields below to generate a complete, valid listing.
Generate valid JobPosting JSON-LD with the properties Google Jobs requires, including salary, location and dates. Free job posting schema generator, no signup.
Enter the core job details
Provide the job title, a full description, the date posted, and an expiry date in validThrough. Google removes listings automatically once validThrough passes, so this date must be kept current.
Add the organization and location
Fill in hiringOrganization with the company name and logo, and jobLocation with a structured street address. Remote roles use jobLocationType instead of a physical address.
Specify salary and employment type
Add baseSalary as a value or range with a currency code and pay period, and select employmentType such as FULL_TIME or CONTRACTOR. The tool nests these correctly as required by Google's job posting schema.
Frequently asked questions
What properties are required for a JobPosting to appear in Google Jobs?
title, description, datePosted, validThrough, hiringOrganization and jobLocation (or jobLocationType for remote roles) are all required. Missing any one of these means Google won't consider the listing for Google Jobs, even if the rest of the markup is technically valid.
What happens if I leave an expired job posting live on my site?
Google automatically removes listings from Google Jobs once validThrough has passed, regardless of whether the page itself still returns a 200 status. Leaving expired postings unfixed for too long can also affect Google's trust in future postings from the same domain.
Do I need to include salary in JobPosting schema?
baseSalary isn't strictly required in every region, but Google strongly recommends it and some markets increasingly expect it for full eligibility in richer job result features. Where you do include it, it must be a valid MonetaryAmount with a currency and either a fixed value or a min/max range.
Where should JobPosting JSON-LD be placed?
In a <script type="application/ld+json"> tag on the actual job listing page, one block per posting. Bulk job boards should generate a unique JobPosting object per URL rather than one shared script across multiple listings.