Import existing JSON-LD(paste code or read it from a URL)
Paste a JobPosting JSON-LD block, several script tags or a whole page's HTML. The form fills with what it finds so you can edit and improve it.
Job details
Workplace & location
More office locations for the same job
Compensation
Salary is written as a MonetaryAmount with a nested QuantitativeValue: value for an exact amount, minValue and maxValue for a range.
Requirements and details
- JobPostingMissing required title.
- JobPostingMissing required description.
- JobPostingMissing required datePosted.
- JobPostingMissing required hiringOrganization.
- JobPostingMissing required jobLocation or applicantLocationRequirements.
- JobPostingRecommended: add validThrough.
- JobPostingRecommended: add baseSalary.
- JobPostingRecommended: add identifier.
- JobPostingRecommended: add directApply.
- Add the office city and country. Google needs them for jobLocation.
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "JobPosting",
"employmentType": "FULL_TIME"
}
</script>How to use
Fill in the job details
Enter the job title, date posted, employment type, valid through date, hiring organization and its URL, the job page URL and the full description that appears on the page.
Set workplace and pay
Pick On-site, Fully remote or Hybrid. Add the office address, the countries remote applicants may live in, or both. Choose Exact amount or Range and set currency and unit.
Copy and test
Add requirements if you have them, clear the errors in the Validation panel, press Copy script and paste the block on the job page. Use Test in Google Rich Results Test to confirm the posting is eligible.
Why Job Posting Schema Generator
- Remote and hybrid jobs with applicant location countries.
- Job ID, company logo, directApply and several office locations.
- Education and experience requirements Google reads.
- Validation for required and recommended JobPosting fields.
Required and recommended JobPosting properties
This table follows Google's JobPosting documentation and shows where each property comes from in this form. Education and experience requirements are newer Google properties that help match candidates.
Google also expects the markup to sit on the page that shows the full job description, one job per page, and to be removed or expired once the position is filled.
| Property | Google status | Field here |
|---|---|---|
| title | Required | Job title |
| description | Required | Job description |
| datePosted | Required | Date posted |
| hiringOrganization | Required | Hiring organization and URL |
| jobLocation | Required unless fully remote | Office address |
| jobLocationType | Recommended, needed for remote | Workplace: remote or hybrid |
| applicantLocationRequirements | Recommended, needed for remote | Countries applicants may live in |
| baseSalary | Recommended | Compensation |
| employmentType | Recommended | Employment type |
| validThrough | Recommended | Valid through |
| identifier | Recommended | Job ID and ID system |
| directApply | Recommended | Can people apply on this page? |
| hiringOrganization.logo | Recommended | Organization logo URL |
| educationRequirements, experienceRequirements | Optional | Requirements and details |
Example: a fully remote job
Say a company hires a support engineer who can live in the United States or Canada, paid 60,000 to 75,000 US dollars a year. Choose Fully remote, type US, CA in the countries box, choose Range and enter 60000 and 75000 with USD and Yearly.
The output then contains jobLocationType TELECOMMUTE, an applicantLocationRequirements array with two Country objects named US and CA, and a baseSalary MonetaryAmount in USD whose QuantitativeValue has minValue 60000, maxValue 75000 and unitText YEAR. There is no jobLocation, because the job has no office. If the same company also had an office people could use, Hybrid would add that address back as jobLocation.
Paste the block on the job's own page, not on the careers index, and test it with Test in Google Rich Results Test before publishing.
Common questions
What fields does Google require in job posting schema?
How do I mark up a remote job in JobPosting schema?
How do I mark up a hybrid job that is partly remote?
How do I add a salary range to job posting schema?
Which employment types does the JobPosting generator support?
Is validThrough required in a JobPosting?
What are directApply and identifier in JobPosting schema?
Why isn't my job showing in Google for Jobs after adding the schema?
What goes in the JobPosting description field?
More Schema tools
View allAutomatic Schema Markup Generator
Crawl your site, auto-detect + generate JSON-LD for every page
Schema Markup Generator
JSON-LD or microdata for 10 types, plus a validator
FAQ Schema Generator
Build FAQPage JSON-LD by hand, paste or URL import
Article Schema Generator
Build Article, BlogPosting or NewsArticle JSON-LD