Build, embed, and run PDFs natively in your product

All the building blocks and primitives you need for building, filling, rendering, and AI-powering PDFs self-hosted and open source.

The AI-native code editor that gets it exactly right. No approximation. No bloat. Just perfect code, every time.

ai-native PDFs use case

Trusted by leading products

We've built it so you don't have to

An entire engine built for developers to achieve any PDF scenario inside web and mobile projects.

UI

An easy user interface to build custom PDFs. Drag-and-drop simplicity to full design and layout control.

Validation

Ensure accurate, complete input with automatic PDF field validation for required values.

Conditional logic

Create smart, dynamic PDFs that adapt to user input using simple if/then and show/hide conditions.

Formulas

Perform real-time calculations directly in the PDF, from basic math to advanced expressions.

Theming

Easily match your brand with full control over colors, fonts, and layout—right from your configuration.

Template engine

An template library that enable users to build, manage, and save reusable account-level templates.

i18n

Localize your PDFs. Built-in support for multiple languages and regional formatting.

Data control

Connect your PDFs to live data sources and auto-fill without writing custom logic.

Common PDF use cases

end-users can auther documents

Let your end-users author their own PDFs

Give end-users an easy drag-and-drop PDF builder so they can author their own PDFs.

end-users can auther documents

Let your end-users author their own PDFs

Give end-users an easy drag-and-drop PDF builder so they can author their own PDFs.

end-users can auther documents

Let your end-users author their own PDFs

Give end-users an easy drag-and-drop PDF builder so they can author their own PDFs.

Programmatically generate documents

Generate PDFs programmatically

Programmatically populate PDFs with values from your database — or from an agent.

Programmatically generate documents

Generate PDFs programmatically

Programmatically populate PDFs with values from your database — or from an agent.

Programmatically generate documents

Generate PDFs programmatically

Programmatically populate PDFs with values from your database — or from an agent.

document template library

Provide an account-level template library

Let your end-users create, activate, and reuse their own prebuilt PDF templates.

document template library

Provide an account-level template library

Let your end-users create, activate, and reuse their own prebuilt PDF templates.

document template library

Provide an account-level template library

Let your end-users create, activate, and reuse their own prebuilt PDF templates.

A new PDF standard for builders and their agents

Natively embeddable

White-labeled and custom branded, running directly inside your product—no iframes or redirects.

Extensible

Build custom fields, logic, UI, and workflows to support any unique product edge case or requirements.

JSON-based

Everything is defined as structured data. From data to design to logic—unified in JSON. Zero translation overhead.

Platform-native

One definition that renders UI and experiences natively across web, iOS, and Android apps.

Agent-ready

Designed for autonomous agents to generate, fill, and automate workflows using a structured, readable system.

Web-native

Built on proven web standards like React, HTML, and CSS—familiar to developers and instinctual for AI agents.

Model-agnostic

Built to work with GPT, Claude, and whatever comes next. Switch between models without refactoring your data.

Questions? We have answers.

What is J0y?

What is the .joy specification?

Which frameworks does J0y support for PDFs?

Can I customize and white-label the UI to match my product?

How is J0y different from other PDF developer tools?

Does one .joy definition render PDFs across web, iOS, and Android?

Can I embed PDF inside my own product natively?

How do AI agents work with PDFs?

Is J0y an AI model?

Is J0y open source, and can I self-host it?

What if J0y doesn't support something I need out of the box?

Can I use J0y with my existing {use case} solution?

Built for the future

Deploy today