Job Posting Schema Generator

Create JobPosting JSON-LD for a vacancy, including remote options, salary range and closing date, ready for Google's job search experience.

Runs in your browser — nothing you enter is uploaded Free · no sign-up

Validate a live page

    

Paste the code into the page’s <head> or <body>. Valid markup makes a page eligible; Google decides whether to show a rich result. Mark up only content visible on the page. Fields are saved in your browser.

About the Job Posting Schema Generator

JobPosting markup can make a vacancy eligible for Google's job search experience, where candidates filter roles by location, type and date. Required properties are title, description, datePosted, hiringOrganization and jobLocation. For fully remote roles, set jobLocationType to TELECOMMUTE and add applicantLocationRequirements for the countries you can hire from. Recommended properties include baseSalary, employmentType, validThrough, identifier and directApply.

This job posting schema generator builds the markup in your browser, so draft vacancies stay private. Paste the full job description, state salary as a range with INR as the currency and a unit such as MONTH or YEAR, and set validThrough to the closing date. When a job is filled, remove the page or its markup promptly. Google's Indexing API also officially supports job posting pages if you publish many roles.

How to use it

  1. Enter the job title, full description and posting date.
  2. Add the hiring organization and office location or remote rules.
  3. Fill in employment type, salary range and closing date.
  4. Copy the JSON-LD into the job page and remove it when the role closes.

Frequently asked questions

How do I mark up a remote job?

Set jobLocationType to TELECOMMUTE and use applicantLocationRequirements to list the countries or states where candidates must live, such as India. If the role is hybrid with an office, also include jobLocation with the office address. Do not mark a job as remote if it requires regular office attendance.

Is salary required in JobPosting schema?

No, baseSalary is recommended rather than required. Adding a realistic range in INR with the right unit, such as YEAR or MONTH, gives candidates useful information and can make the listing more appealing. Only show a salary you are actually prepared to offer.

What should I do when the job is filled?

Remove the job page, return a 404 or 410 status, or remove the JobPosting markup, and make sure validThrough is in the past. Expired listings that still carry active markup can frustrate candidates and may break Google's job posting guidelines.