Skip to content
100% local

JobPosting schema generator

Turn job-listing details into valid schema.org JobPosting JSON-LD.

Output

JobPosting schema generator

Fill in a job listing and this tool builds a valid schema.org JobPosting JSON-LD block, ready to paste into your page's `<head>` so Google Jobs and other job-search crawlers can read it as structured data. It covers the fields Google's documentation looks for: title, description, employer, location or remote status, employment type, salary, and posting dates.

Enter the employer's name, logo and website to build the hiringOrganization block, and either a street address for jobLocation or turn on the remote toggle to mark the role as telecommute — you can set both at once for a hybrid listing where applicants can also be location-restricted. Employment type, salary range with currency and unit, the posting date, expiry date and an internal job ID are all optional but recommended by Google's rich-result guidelines; the live tally under the output lists exactly which of those required fields are still missing, so you can fix a listing before publishing it rather than finding out from Search Console weeks later.

Salary works with just a minimum, just a maximum, or a full range — a single figure is written as one value, and a genuine range as minValue/maxValue, both tagged with your chosen currency and pay period. The output can be minified or pretty-printed, and wrapped in a `<script type="application/ld+json">` tag or left as raw JSON for a CMS field that adds its own wrapper.

Everything runs locally in your browser — job details, salary figures and applicant-location rules never leave your device. When the schema looks right, copy it, download it as a .txt file, or send it on to another tool.

FAQ

Which fields does Google actually require for a JobPosting rich result?
Title, description, a posting date, an employer name, and either a job location or, for a fully remote role, the remote toggle in place of an address. The tally below the output flags any of these still missing.
How do I mark a job as remote?
Turn on "Remote / telecommute job". It adds jobLocationType: TELECOMMUTE, and if you also fill in "Applicants must be based in" it adds the applicantLocationRequirements Google recommends for remote listings.
Can I list a salary range instead of one number?
Yes. Fill in both a minimum and a maximum to get a proper range; leave one at zero to publish a single figure instead.
Does the output include the <script> tag?
Only if "Wrap in <script> tag" is on. Turn it off if your CMS or template already adds the wrapper and you just need the raw JSON.
Is my job posting data uploaded anywhere?
No. The schema is built entirely in your browser — nothing about the listing, employer or salary is sent to a server.