Clone or download
Latest commit 727bcee Jul 1, 2018

React renderer for creating PDF files on the browser, mobile and server

npm Travis license styled with prettier

How to install

# You should always install the core package
yarn add @react-pdf/core

# And also the bindings that you need
yarn add @react-pdf/node
yarn add @react-pdf/dom
yarn add @react-pdf/mobile

How it works

import React from 'react';
import { Page, Text, View, Document, StyleSheet } from '@react-pdf/core';

// Create styles
const styles = StyleSheet.create({
  page: {
    flexDirection: 'row',
    backgroundColor: '#E4E4E4'
  section: {
    margin: 10,
    padding: 10,
    flexGrow: 1

// Create Document Component
const MyDocument = () => (
    <Page size="A4" style={}>
      <View style={styles.section}>
        <Text>Section #1</Text>
      <View style={styles.section}>
        <Text>Section #2</Text>

Render in DOM

Note: you need add transform-loader like in example

Note: Import Document from @react-pdf/dom instead of the core when used in the DOM

// to fix "regeneratorRuntime is not defined", which causes by "@react-pdf/*"
// also you can use "babel-polyfill"
import 'regenerator-runtime/runtime';
import React from 'react';
import ReactDOM from 'react-dom';

const App = () => (
    <MyDocument />

ReactDOM.render(<App />, document.getElementById('root'));

Save in a file

import ReactPDF from '@react-pdf/node';

ReactPDF.render(<MyDocument />, `${__dirname}/example.pdf`);

Render in mobile

Coming soon


For each example, try opening output.pdf to see the result.






Page wrap

To run the examples, first clone the project and install the dependencies:

git clone
cd react-pdf
yarn install

Then, run yarn example -- <example-name>

yarn example -- fractals


This project exists thanks to all the people who contribute. [Contribute].


Thank you to all our sponsors! [Become a sponsors]


Thank you to all our backers! [Become a backer]


MIT Β© Diego Muracciole