Free Job Posting Schema Generator - Instant JobPosting JSON-LD for Google for Jobs
A free schema markup generator and JSON-LD builder for job listings - with salary, location, hiring organization and correct remote/hybrid handling.
Fill in your job title, description, dates and hiring organization - copy the generated JSON-LD and paste it into your job page's <head>. This job posting schema generator builds clean, standards-compliant markup on the exact schema.org/JobPosting spec that powers Google for Jobs, instantly, for free.
Based on schema.org/JobPosting · Validated JSON-LD Output
Fill Your Job Posting Details
⚠️ Please fix the following errors:
TELECOMMUTE for remote work - this generator maps your selection to the correct value automatically. On-site omits jobLocationType; hybrid and fully remote both set it to TELECOMMUTE, with hybrid also keeping a physical address.Advanced Options
What Is JobPosting Schema (schema.org/JobPosting)?
JobPosting schema is JSON-LD structured data, based on the JobPosting
type on schema.org/JobPosting,
that describes a job opening: its title, description, hiring organization, location, salary and dates.
It's the markup behind Google for Jobs - the job search experience that surfaces
eligible listings directly in Google Search. It's added to a page's <head> as a
<script type="application/ld+json"> block.
In short: a "job posting schema generator" is a tool that turns your listing's details (title, org, location, salary, dates) into a ready-to-use JSON-LD block matching the schema.org JobPosting spec, with the location and remote-work fields set up the way Google actually expects them. This page generates that code instantly, for free, in your browser.
Unlike some other schema types, Google for Jobs remains an active, well-supported feature - valid JobPosting markup is a real, ongoing eligibility requirement for appearing in that experience, not just a nice-to-have for AI parsing.
JobPosting schema example
{
"@context": "https://schema.org",
"@type": "JobPosting",
"title": "Senior SEO Specialist",
"description": "We are looking for an experienced SEO Specialist...",
"datePosted": "2026-09-01T09:00:00.000Z",
"validThrough": "2026-11-01T00:00:00.000Z",
"employmentType": "FULL_TIME",
"hiringOrganization": {
"@type": "Organization",
"name": "Acme Corp",
"sameAs": "https://linkedin.com/company/acme",
"logo": "https://example.com/logo.png"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "Mumbai",
"addressCountry": "IN"
}
},
"baseSalary": {
"@type": "MonetaryAmount",
"currency": "INR",
"value": { "@type": "QuantitativeValue", "minValue": 50000, "maxValue": 80000, "unitText": "MONTH" }
}
}The Fields Google for Jobs Looks For
Beyond the basics, salary, benefits and location details meaningfully improve how a listing performs.
| Property | Status |
|---|---|
title, description, datePosted | Required |
hiringOrganization | Required |
jobLocation or jobLocationType: TELECOMMUTE | Required - one or the other |
validThrough | Strongly recommended - keeps expired listings out of results |
employmentType, baseSalary | Recommended - can improve CTR |
Why jobLocationType Should Only Ever Be TELECOMMUTE
A common markup mistake is setting jobLocationType to values like "Remote", "Hybrid" or
"OnSite" - none of those are valid. Google's JobPosting documentation recognizes exactly one value for
this property: TELECOMMUTE. Anything else can cause the listing to be
flagged as invalid or excluded from Google for Jobs.
This generator maps your work-arrangement choice correctly: on-site omits
jobLocationType entirely and relies on jobLocation; fully remote
sets jobLocationType to TELECOMMUTE; and hybrid sets
TELECOMMUTE alongside a physical jobLocation - which is exactly how Google
interprets a hybrid role.
Hybrid role example
{
"jobLocationType": "TELECOMMUTE",
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "Mumbai",
"addressCountry": "IN"
}
},
"applicantLocationRequirements": "IN"
}How to Build & Implement JobPosting Schema Markup
This JSON-LD builder does the heavy lifting - here's the full technical SEO workflow, start to finish.
Add title, description & dates
Fill in the required job title, description, and date posted, plus a valid-through expiry date.
Add hiring organization & work arrangement
Credit who's hiring, then choose on-site, hybrid, or fully remote - the generator handles TELECOMMUTE correctly.
Add salary & other details
Compensation, skills, qualifications and benefits all improve how the listing performs once it's eligible.
Copy & paste into your <head>
Hit Copy (or Download), paste the script into your job page's <head>, then validate with Google's Rich Results Test.
Implementation note: when a job closes, either update validThrough to a past
date, remove the page (returning a 404/410), or remove the JobPosting markup entirely - leaving stale,
"open" job schema live on an expired listing can affect how Google treats your other job postings.
A Free, Instant Schema Generator Built for Real Job Listings
No sign-up, no watermark, no code editor required - just clean, valid JobPosting JSON-LD you can trust.
100% Free, No Sign-Up
Generate unlimited job posting schema - no account, no email, no usage cap.
Instant Schema, Live Preview
Your JSON-LD updates as you type - no waiting, no separate "generate" step. A true instant schema and JSON-LD builder.
Clean, Valid JSON-LD
Output follows the schema.org JobPosting spec exactly, so it passes Google's Rich Results Test and the Schema Markup Validator.
Correct TELECOMMUTE Handling
On-site, hybrid and fully remote roles are all mapped to the exact values Google for Jobs expects.
Full Compensation Support
Exact salary or a min/max range, pay period unit, and work hours - all nested correctly.
Nothing Leaves Your Browser
Everything runs client-side. Your job listing details are never uploaded or stored on a server.
Frequently Asked Questions About JobPosting Schema
What is JobPosting schema used for?
JobPosting schema describes a job opening - title, description, organization, location, salary and dates - and is the structured data behind Google for Jobs, the job search experience in Google Search.
What fields are required for valid JobPosting schema?
Title, description, datePosted, and hiringOrganization are required, along with either a jobLocation or a jobLocationType of TELECOMMUTE for remote roles. This generator flags those requirements before you copy or download.
Is this job posting schema generator really free?
Yes. It's completely free to use, with no sign-up, no watermark, and no limit on how many job posting schemas you generate.
How does jobLocationType work for remote and hybrid roles?
Google recognizes exactly one value for jobLocationType: TELECOMMUTE. On-site roles should omit this property entirely and rely on jobLocation. Fully remote roles set jobLocationType to TELECOMMUTE. Hybrid roles set TELECOMMUTE alongside a physical jobLocation - Google interprets that combination as hybrid.
How does validThrough affect Google for Jobs?
validThrough tells Google when a listing expires. Keeping it accurate and in the future for active roles, and in the past (or removed) for closed ones, helps keep Google for Jobs results current and prevents applications after your hiring deadline.
How does baseSalary work in JobPosting schema?
baseSalary nests a MonetaryAmount with a currency and either an exact value or a minValue/maxValue range, plus a unitText for the pay period (HOUR, MONTH, YEAR, etc.). Including it can improve click-through rates by giving candidates the context they need upfront.
Do I need to remove JobPosting schema when a job closes?
You should do one of three things: set validThrough to a past date, remove the page entirely (returning a 404 or 410), or remove the JobPosting markup from the page. Leaving an expired job marked as open can lead to a poor experience for job seekers and potential issues with your other listings.
How do I implement JobPosting schema markup technically?
Copy the generated code and paste it inside a single script tag of type application/ld+json in your job page's head, using a canonical URL if the same posting appears at multiple addresses on your site.
Does Google's AI Overview use JobPosting schema?
Google for Jobs itself is a distinct, dedicated search experience rather than an AI Overview. AI-based answer engines may still benefit from clearly structured job data when summarizing openings, but JobPosting schema's primary, confirmed role remains powering Google for Jobs eligibility.
Explore More Free Schema & SEO Tools
Schema Markup Generator Hub
16 JSON-LD generators in one place - Organization, Article, Product, Review, Event, and more.
LocalBusiness Schema Generator
Address, hours & rating markup for LocalBusiness, Restaurant, Store & Clinic.
Course Schema Generator
Provider, instructor, modules & pricing markup for Course & CourseInstance.
Event Schema Generator
Venue, organizer, performer & ticket markup for concerts, webinars & more.
Article Schema Generator
Headline, author, publisher & speakable markup for Article, BlogPosting & NewsArticle.
Product Schema Generator
Offer, rating & review markup for e-commerce Product pages.