Free Schema Markup Generator Job Posting Schema Generator
Free SEO Tools · JobPosting Schema Generator for Google for Jobs

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.

Salary, Location & Hiring Org
Correct Remote & Hybrid Markup
Skills, Qualifications & Benefits

Based on schema.org/JobPosting · Validated JSON-LD Output

100% Free, No Sign-Up
Valid Schema.org JSON-LD
Built for AI & Traditional Search
Live Preview As You Type
JobPosting
Schema Type
On-site
Work Arrangement
No
Salary Included
0 B
Schema Size

Fill Your Job Posting Details

Job Details
Job title is required
Job description is required
Date posted is required
Keeps expired listings out of Google for Jobs.
Hiring Organization
Organization name is required
Work Arrangement & Location
Google recognizes only 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.
Used for remote roles to state where applicants may be based.
Compensation (Base Salary)
Advanced Options
JobPosting Schema, Explained

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" }
  }
}
What Google Actually Requires

The Fields Google for Jobs Looks For

Beyond the basics, salary, benefits and location details meaningfully improve how a listing performs.

PropertyStatus
title, description, datePostedRequired
hiringOrganizationRequired
jobLocation or jobLocationType: TELECOMMUTERequired - one or the other
validThroughStrongly recommended - keeps expired listings out of results
employmentType, baseSalaryRecommended - can improve CTR
Remote & Hybrid, Done Correctly

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"
}
Step by Step · Technical SEO

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.

01

Add title, description & dates

Fill in the required job title, description, and date posted, plus a valid-through expiry date.

02

Add hiring organization & work arrangement

Credit who's hiring, then choose on-site, hybrid, or fully remote - the generator handles TELECOMMUTE correctly.

03

Add salary & other details

Compensation, skills, qualifications and benefits all improve how the listing performs once it's eligible.

04

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.

Why Use This Tool

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.

FAQs

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.

More Free Tools

Explore More Free Schema & SEO Tools