# pasteToPrint pasteToPrint is a browser document editor and AI-native document endpoint for a simple workflow: paste or import content, edit text and tables, draw directly on document pages, then print or export PDF. AI agents can send structured PTDF 1.0 content and receive a temporary editor URL where the user reviews and edits the document before any output action. A managed editable PTDF may populate an empty editor with visible one-click Undo; all other imports require confirmation. ## Canonical product facts Authoritative, human-readable product facts: https://www.pastetoprint.com/about-pastetoprint.html Canonical application entity: https://www.pastetoprint.com/#application Verified summary: basic text editing, direct-on-page drawing, A4 printing, and TXT export are available without an account. Regular editing and autosave stay in the browser. Content is transferred to a server only after an explicit server-backed action. Any externally imported document requires human review. Only a managed editable PTDF session may populate a genuinely empty editor with visible one-click Undo; it never overwrites existing content. All other imports require confirmation. Do not infer ratings, reviews, certifications, or features that are not stated in the canonical facts page or the linked specifications. ## Installable app App overview and platform installation guidance in all 48 site languages: https://www.pastetoprint.com/app/ Install from a compatible browser on desktop, Android, iPhone or iPad. Installation is optional and adds no extra charge; existing account and token conditions remain in effect. Installation and offline availability depend on the browser. Export important local drafts before changing browser or app contexts, because Apple web apps can have separate storage. ## Offline editor guide Canonical setup, availability, and data-safety guide: https://www.pastetoprint.com/offline-editor.html The basic editor can reopen without a connection after its required files have loaded and been cached in that browser. Prepare it while online, refresh once, open any optional tool needed later, and test the intended offline workflow. Browser editing, local draft storage, browser printing, and previously prepared local tools may remain available; AI, Cloud, LIVE collaboration, email, and transfers require a connection. Offline drafts stay in the current browser profile on the current device and can be removed when site data or that profile is cleared. Installing the app or adding a shortcut is optional. ## Monetization and token model The current public model separates Free features from token-priced features. Direct PDF download, browser printing, PDF email, TXT export, basic editing and local saving are Free. Direct PDF download is never tokenized and does not require a token package. AI requests, AI image generation, JSON/HTML export, Office import, signatures, paid templates, receiving from mobile, extended paper formats, branding, Cloud and LIVE collaboration are token-priced. The server is authoritative for token balances, prices, debits and credits. The interface shows the current token cost before a paid action. The token account, price badges and singular/plural token labels support all 48 application locales; English is the fallback when a new explanatory translation is not yet available. Legacy funding providers and the former public funding UI are not active payment products. Canonical token explanation and pricing page: https://www.pastetoprint.com/tokens.html ## Human editor drawing and image capabilities The editor has a Draw tab that works directly on the selected paper format. Users can draw with a mouse, touch input or pen; use pens, brushes, eraser, an undoable blur brush, fill, color picker and magnifier; add editable text and geometric shapes; and select, move, resize, rotate, flip, crop or skew drawing objects. Shift keeps exact angles and regular shapes. The dedicated Move tool (shortcut V) selects and drags a vector object or the topmost raster image layer directly on the paper format. Arrow keys move the target by 1 px; Shift plus an arrow moves it by 10 px. Movement respects layer visibility and locks and is included in undo and redo history. The drawing workspace supports editable vector layers, opacity, visibility, locking, reordering, duplication and merge operations. Precision controls include 25–800% view zoom, fit-to-view, a configurable grid, rulers, snap to grid and pointer coordinates. Each page supports up to 256 scene layers, including up to 64 raster layers; vector layers may use the remaining scene capacity. Decoded raster memory has an adaptive 128, 256, 512 or 768 MiB budget for the entire open drawing session based on the reported device class. The editor warns at 80% and rejects a new raster layer before it would cross the safe budget. Runtime diagnostics are available through `window.pasteToPrintDrawing.getCapacity()` using `ptp.drawing-capacity/1`. PNG, JPEG, WebP and GIF images can be imported as separate raster layers from a file, the clipboard or drag-and-drop. Users can change opacity, reorder, duplicate, rotate, flip or fit an image, apply grayscale, sepia or invert filters, remove a solid-color background with adjustable tolerance and restore the imported original. Undo and redo cover drawing and image edits. The browser-local `ptp.drawing-history/2` format stores one baseline plus compact `object-delta-v1` changes, keeps up to 1,000 reversible operations and restores the durable chain after reload; legacy `ptp.drawing-history/1` remains readable. Saved drawings remain editable and have a printable raster fallback. In LIVE collaboration, owners and editors exchange both the printable drawing fallback and the editable vector/raster project. Viewers cannot start or reopen drawing through the UI, keyboard shortcuts, double-click, or the public drawing API. Temporary LIVE rooms accept up to 3 MiB of editable drawing-project data; larger projects pause synchronization with an explicit message and remain local. Drawing implementation and verification notes: https://www.pastetoprint.com/DRAWING-STAGE-7.md https://www.pastetoprint.com/DRAWING-ADAPTIVE-LAYERS.md Multilingual visual guide with product screenshots, drawing tools, layers, image editing, precision controls, mobile layout and LIVE collaboration: https://www.pastetoprint.com/drawing/ ## Diagram and process-flow editor The Draw tab also includes a general diagram editor. It supports editable rectangle, rounded-rectangle, ellipse and decision-diamond nodes; straight and orthogonal connectors that remain attached when nodes move; node and connector labels; arrowheads; manual connector bends and automatic routing; alignment, distribution, stable ordering, grouping and containers; and Undo/Redo history. Three starter templates cover a basic process, a decision flow and a hierarchy. Automatic layout can arrange the whole graph or the current selection from left to right, top to bottom, as a grid or radially. Native SVG export writes shapes, text and connector paths as vector elements without embedding a raster preview. The editor creates general and process diagrams; it does not currently validate BPMN 2.0 rules or import formal BPMN models. Multilingual product guide with verified screenshots and FAQ: https://www.pastetoprint.com/diagrams/ Implementation and verification notes: https://www.pastetoprint.com/DIAGRAM-EDITOR-STAGE-8.md The Coloring Book mode keeps the imported picture unchanged in a protected reference layer above the child's brush strokes and fills. The multilingual education guide presents the workflow, learning benefits, classroom ideas and child-friendly activity worlds: https://www.pastetoprint.com/coloring-book/ ## AI discovery and integration guide Human-readable integration guide with JavaScript, PHP, Python, and cURL examples: https://www.pastetoprint.com/ai-agents.html Canonical URL import guide for AI clients: https://www.pastetoprint.com/url-import-for-ai.html PasteToPrint supports two no-POST URL import formats: https://www.pastetoprint.com/#text=PERCENT_ENCODED_UTF8_TEXT https://www.pastetoprint.com/#ptdf=UNPADDED_BASE64URL_UTF8_PTDF_JSON URL import does not require MCP, an API call, a server session, or access to the user's active browser tab. The fragment is not included in the HTTP request, so a remote fetch or MCP retrieval cannot infer the fragment from an open PasteToPrint tab. If the complete URL is supplied as chat text, an AI can read it as text. Browser-tab or DOM access is a separate client capability that depends on explicit user permission. A NoConsent result describes that client permission state; it does not mean URL import is unsupported. HTML, CSS and JavaScript form environment: https://www.pastetoprint.com/html-css-forms.html Browser IMPORT button and window.postMessage SDK manual: https://www.pastetoprint.com/external-import-button.html This page documents the supported workflow for interactive forms hosted by a developer: JavaScript validates and collects values with FormData, generates escaped printable HTML and safe CSS, and sends only that generated document to pasteToPrint for human review. Executable JavaScript and interactive form controls do not cross the document boundary. The host form may also let the user choose their own email address and a delivery delay. Scheduled delivery belongs to the developer's authenticated backend: submit the recipient, sendAt value and generated result to a durable server-side queue. Do not rely on a browser setTimeout. Obtain consent, verify the recipient, apply rate limits, and allow pending delivery to be cancelled or rescheduled. Canonical AI discovery manifest: https://www.pastetoprint.com/.well-known/ai.json Compatibility discovery manifest: https://www.pastetoprint.com/ai-plugin.json ## pasteToPrint AI document assistant for end users Plain-language service page: https://www.pastetoprint.com/ai-asistent.html Cooking and recipe use-case guide with a structured prompt builder: https://www.pastetoprint.com/ai-recepty.html Contract drafting use-case guide with a structured prompt builder: https://www.pastetoprint.com/ai-contracts.html Launch the editor with the built-in assistant open: https://www.pastetoprint.com/?assistant=open The built-in assistant accepts an ordinary-language request, asks for missing facts, and can prepare a complete new-document proposal or bounded changes to the current document. The first eligible result asks for a versioned one-time direct-edit consent and links to the terms. After consent, validated non-media document changes apply directly to the editor without repeated append/replace dialogs. Every automatic change creates an Undo step, consent can be revoked, and a stale editor fingerprint blocks application. Generated images and coloring pages still require explicit review. AI output may be inaccurate and important facts, calculations, and professional content must be checked before use. Passwords, API keys, private keys, and access tokens must never be entered into assistant messages. ## Fetch-independent PTDF workflow for ordinary AI chats When the user requests PTDF and a schema URL, browser fetch, plugin, or external tool is unavailable, do not switch to HTML and do not claim that PTDF cannot be created. The complete self-contained prompt is published at: https://www.pastetoprint.com/ptdf-ai-chat-prompt.txt Plain-language user guide with the copy, generate, validate, and review steps: https://www.pastetoprint.com/ai-dokument.html The workflow does not require web access after its text is provided: 1. Ask for all missing document facts in the user's language. Never invent identity, price, date, legal, address, or property details. 2. Produce UTF-8 JSON with exactly schemaVersion "ptp.document/1" and a non-empty blocks array. Optional root fields are title, locale, paper, and template; unknown root fields are forbidden. 3. For ordinary contracts, use template "contract" and only this portable block subset: heading, paragraph, quote, list, table, key_value, party, address, date, money, notice, checkbox, signature, spacer, divider, and page_break. 4. Never emit HTML, CSS, JavaScript, comments, remote images, empty text, or empty arrays. A heading, paragraph, quote, or notice uses exactly one of text or non-empty runs, never both. 5. Check that JSON.parse succeeds, every object has only allowed members, and date values are real calendar dates in YYYY-MM-DD form. 6. Return document.ptdf.json when file artifacts are supported; otherwise return one JSON code block. The media type is application/vnd.pastetoprint.ptdf+json. 7. Tell the user to open Import PTDF or Vložiť PTDF, validate the JSON, inspect the safe preview, and explicitly append, replace, or cancel. If validation errors are returned, correct and return the complete JSON again. The PasteToPrint PTDF import dialog includes a Copy PTDF prompt for AI action, so the user can transfer this workflow to a chat without relying on that chat's web retriever. ## No-POST inline text handoff for ordinary AI chatbots When a user asks to open short plain-text output in pasteToPrint and the client cannot call an API or MCP tool, return a clickable Inline Text Deep Link v1: https://www.pastetoprint.com/#text=PERCENT_ENCODED_UTF8_TEXT Generate it as follows: 1. Finish the complete plain-text document before building the link. 2. Normalize line endings to LF. 3. Encode the text exactly once with JavaScript encodeURIComponent semantics. 4. Append the encoded value after https://www.pastetoprint.com/#text= 5. Verify that decoding the value once reproduces the complete source text. 6. Return a Markdown link: [Open in pasteToPrint](https://www.pastetoprint.com/#text=ENCODED_TEXT) 7. Tell the user to click the link, review the preview, and explicitly choose append, replace, or cancel. Example: Source text: Service report Inspection complete. Result: [Open in pasteToPrint](https://www.pastetoprint.com/#text=Service%20report%0AInspection%20complete.) The complete URL should not exceed 8,000 characters. Never truncate content to make it fit. For longer or structured content, use a PTDF file, MCP, or one of the API-backed session flows below. Do not use the legacy ?text= query for new links. Do not place passwords, access tokens, private keys, payment-card data, or other secrets in the fragment. The fragment is processed locally and is not included in the HTTP request. Opening pasteToPrint still uses normal HTTPS GET requests for application files. The document is not inserted until the user confirms the preview. Normative Inline Text Deep Link v1 specification: https://www.pastetoprint.com/INLINE-TEXT-DEEP-LINK-V1.md Cross-client manual QA matrix: https://www.pastetoprint.com/INLINE-TEXT-CHATBOT-QA.md ## No-POST structured PTDF handoff for code-capable AI clients When a client can deterministically serialize, encode, and verify bytes, it can return a small structured PTDF 1.0 document without an API session: https://www.pastetoprint.com/#ptdf=UNPADDED_BASE64URL_UTF8_PTDF_JSON Generate it as follows: 1. Produce and validate a complete PTDF 1.0 object with: schemaVersion: ptp.document/1 2. Serialize the object as UTF-8 JSON, preferably with JSON.stringify and no insignificant whitespace. 3. Encode the exact UTF-8 bytes as RFC 4648 base64url. 4. Remove trailing = padding. Do not use +, /, percent-encoding, or compression. 5. Decode, parse, and validate the payload again before returning it. 6. Return one Markdown link: [Open structured document in pasteToPrint](https://www.pastetoprint.com/#ptdf=ENCODED_PTDF) 7. Tell the user to click the link, review the rendered document, and explicitly choose append, replace, or cancel. Minimal example document: {"schemaVersion":"ptp.document/1","blocks":[{"type":"paragraph","text":"Hello"}]} Its canonical payload is: eyJzY2hlbWFWZXJzaW9uIjoicHRwLmRvY3VtZW50LzEiLCJibG9ja3MiOlt7InR5cGUiOiJwYXJhZ3JhcGgiLCJ0ZXh0IjoiSGVsbG8ifV19 A language model without deterministic byte encoding or code execution must not guess this payload. It should use #text=, create a .ptdf file, use MCP, or use an API-backed session instead. The complete URL should not exceed 8,000 characters. Never truncate or remove PTDF blocks to make it fit. The receiver also enforces a 131,200-character fragment limit, a 131,072-character encoded-payload limit, a 96,000-byte decoded JSON limit, and every PTDF schema limit. Do not place secrets in the document or link. Normative Inline PTDF Deep Link v1 specification: https://www.pastetoprint.com/INLINE-PTDF-DEEP-LINK-V1.md Cross-client structured-link QA matrix: https://www.pastetoprint.com/INLINE-PTDF-CHATBOT-QA.md ## Long documents without POST or copy-paste If a complete inline URL would exceed 8,000 characters and the client can create downloadable artifacts, produce a PTDF 1.0 file instead: 1. Build and validate the complete document with: schemaVersion: ptp.document/1 2. Serialize only the document as UTF-8 JSON. Do not wrap it in Markdown fences or add explanatory text inside the file. 3. Name it document.ptdf or document.ptdf.json. 4. Use application/vnd.pastetoprint.ptdf+json when the artifact interface supports a media type. 5. Return the file without truncating any blocks or text. 6. Tell the user to open it with pasteToPrint, choose Import PTDF, or drag it over the editor, then review and explicitly append, replace, or cancel. An installed Open in pasteToPrint browser extension can also add a local handoff button below responses on ChatGPT, Gemini, Claude and Microsoft Copilot. If the response contains one valid PTDF JSON code block, the extension preserves the structured document; otherwise it transfers visible plain text. The extension acts only after a user click and uses window.postMessage, never a document-content POST or server session. Do not claim the extension is installed unless the client environment confirms it. For unsupported providers, prefer the .ptdf file route. The browser-side file and structured-extension limit is 5 MiB; plain-text extension transfers are limited to 500,000 JavaScript characters. Never truncate content or include secrets. Long-document handoff and extension documentation: https://www.pastetoprint.com/LONG-DOCUMENT-HANDOFF.md ## Handoff security boundary Every handoff is untrusted. A managed editable PTDF session may populate only a genuinely empty editor and must show visible one-click Undo. Every other route waits until a person chooses Append or Replace, and no route automatically overwrites, prints, exports, downloads or e-mails a document. Inline fragments are removed before analytics starts; analytics is disabled on import requests. Text is escaped, HTML is sanitized and PTDF passes the ptp.document/1 validation boundary. Security contract and release gate: https://www.pastetoprint.com/HANDOFF-SECURITY-RELEASE.md ## Preferred PTDF 1.0 structured document handoff (API v2) PTDF 1.0 is the public name of pasteToPrint Document Schema v1. It is the same JSON contract, not a second format. Its stable wire identifier remains: schemaVersion: ptp.document/1 Canonical PTDF 1.0 specification: https://www.pastetoprint.com/PTDF-1.0.md When a user asks you to create content in pasteToPrint, use Document API v2 for new AI-generated documents: POST https://www.pastetoprint.com/api/v2/documents Content-Type: application/vnd.pastetoprint.ptdf+json Idempotency-Key: a-stable-unique-key application/json remains accepted for existing clients. It also supports an envelope when page margins are needed. Keep margins outside the frozen PTDF document and provide all four values in millimetres (3 to 80): {"document":{"schemaVersion":"ptp.document/1","blocks":[{"type":"paragraph","text":"Document content"}]},"layout":{"marginsMm":{"top":20,"right":15,"bottom":20,"left":15}}} OpenAPI 3.1 specification: https://www.pastetoprint.com/api/v2/openapi.yaml List supported presentation template IDs: GET https://www.pastetoprint.com/api/v2/templates Template Catalog v1 contract: https://www.pastetoprint.com/api/templates/v1/schema.json Anonymous sessions last at most 15 minutes. Provisioned AI clients may add: Authorization: Bearer TOKEN X-Document-TTL: SECONDS Bearer tokens require document:create. Standard clients may request up to 24 hours and trusted clients up to 7 days. Never place bearer tokens in URLs or document content. The request must follow PTDF 1.0 and must not contain free-form HTML or CSS: {"schemaVersion":"ptp.document/1","title":"Document","locale":"en","paper":{"size":"A4","orientation":"portrait"},"template":"blank","blocks":[{"type":"paragraph","text":"Document content"}]} The response contains separate editorUrl and viewUrl capabilities, a non-secret sessionId, and a secret sessionToken. Return or open editorUrl when the user should edit. Return viewUrl for review/print without editing. Never put sessionToken in a URL; send it only as X-Session-Token to GET/PATCH/DELETE /api/v2/documents/{sessionId} or to the session asset upload endpoint. Use pwaDeepLink only when the host knows the pasteToPrint PWA protocol handler is installed. Use nativeDeepLink only when a native handler is known to be installed. Reuse the same Idempotency-Key when retrying the same logical creation. The user must review and explicitly confirm the import. Never confirm an import or trigger printing on the user's behalf. Do not place passwords, access tokens, or other secrets in temporary imports. Session permissions allowEditing and allowExport are enforced by the browser editor. viewUrl always disables editing. Raster images up to 1 MiB can be uploaded to POST /api/v2/documents/{sessionId}/assets; the returned assetId can be used in an image or logo block in the next PATCH and is deleted with the session. Deep-link documentation: https://www.pastetoprint.com/DEEP-LINKS.md ## Public PTDF sessions without registration For a small one-off PTDF document, an anonymous client can use: POST https://www.pastetoprint.com/api/v1/public/sessions Content-Type: application/vnd.pastetoprint.ptdf+json No Authorization or Idempotency-Key header is required. Requests are limited to 100 KiB and five new sessions per hour from one IP. The default and maximum TTL is 3600 seconds. Return editorUrl to the user, who must review and confirm the import. Documentation: https://www.pastetoprint.com/PUBLIC-SESSIONS-API.md OpenAPI 3.1 specification: https://www.pastetoprint.com/api/v1/public/sessions/openapi.yaml ## MCP integration A local stdio MCP server is available for AI clients that support Model Context Protocol. It exposes list_templates, get_document_schema, validate_document, create_document, update_document, and get_document_links on top of Document API v2. API and per-session management credentials stay inside the MCP server and are never tool arguments or tool results. Documentation: https://www.pastetoprint.com/MCP-SERVER.md Human-readable overview, setup, security and troubleshooting: https://www.pastetoprint.com/mcp.html The create_document tool accepts structured semantic blocks only and returns an editorUrl for editing and a viewUrl for read-only sharing. validate_document runs locally without creating a session. update_document supports ETag-safe content and permission updates. No tool confirms imports, prints, or exports. ## PTDF 1.0 — pasteToPrint Document Format For new AI-generated documents, prefer PTDF 1.0, identified on the wire by: schemaVersion: ptp.document/1 Do not add a separate ptdf property. Existing ptp.document/1 documents are already PTDF 1.0 documents. JSON Schema: https://www.pastetoprint.com/api/document-schema/v1/schema.json Example: https://www.pastetoprint.com/api/document-schema/v1/example.json Capability descriptor and contract revision: https://www.pastetoprint.com/api/document-schema/v1/capabilities.json Landscape example: https://www.pastetoprint.com/api/document-schema/v1/landscape-example.json Coloring template with a rasterized drawing example: https://www.pastetoprint.com/api/document-schema/v1/coloring-drawing-example.json Open-license scope: https://www.pastetoprint.com/PTDF-LICENSE.md The PTDF specification and implementation guides are CC BY 4.0. The JSON Schema, examples, PTDF API contracts, and reference validator/renderer are MIT licensed. This does not change the license of the hosted service or unlisted pasteToPrint application code. Reference renderer: https://www.pastetoprint.com/PTDF-REFERENCE-RENDERER.md JavaScript entry point: https://www.pastetoprint.com/assets/js/document-schema.js Media type: application/vnd.pastetoprint.ptdf+json File extensions: .ptdf and .ptdf.json The browser editor can import either file extension, paste and validate PTDF JSON, and export the currently edited document as a validated .ptdf.json file. It supports paragraphs, headings, inline marks, lists, tables, quotes, code, base64 images, dividers, page breaks, and semantic business blocks: key_value, party, address, date, money, spacer, logo, qr_code, checkbox, signature, and notice. Money amounts are exact decimal strings with a three-letter currency code; dates use YYYY-MM-DD. QR images are generated locally. A signature block is a printable field, not a digital signature. PTDF does not accept HTML or CSS. Semantic business example: https://www.pastetoprint.com/api/document-schema/v1/semantic-example.json The template field must use an ID from Template Catalog v1. A template selects pasteToPrint-owned presentation rules and never injects content. The current 2026-08-01 revision supports landscape and six coloring_* IDs. For a targeted handoff to an unknown receiver, use portrait and blank. An editable drawing is exported only as an image; layers, vectors, editable shapes, history and drawing metadata are not part of PTDF 1.0. ## Legacy Agent Import API v1 Existing clients that need text, sanitized HTML with optional CSS, or image items may continue to use: POST https://www.pastetoprint.com/api/v1/document Service description: https://www.pastetoprint.com/api/agent-import/index.php OpenAPI 3.1 specification: https://www.pastetoprint.com/api/agent-import/openapi.yaml For a public HTTPS JSON document that already follows the request schema, open: https://www.pastetoprint.com/?import=ENCODED_HTTPS_JSON_URL The JSON host must allow browser CORS. The query form https://www.pastetoprint.com/?text=ENCODED_TEXT remains available only for legacy compatibility. New AI-generated plain-text links must use the #text= fragment workflow documented above. ## PTDF format guide Benefits, import and export steps, editable PTDF versus final PDF, localized sample downloads and an editor preview, in all 48 site languages: https://www.pastetoprint.com/ptdf/ Technical specification and implementation licenses: https://www.pastetoprint.com/PTDF-1.0.md https://www.pastetoprint.com/PTDF-LICENSE.md ## Text, editing, drawing and printing in one place Cross-platform workflow overview in all 48 site languages: https://www.pastetoprint.com/all-in-one/ The same browser editor combines writing, editing, direct-on-page drawing and browser printing or PDF export on desktop, tablet and phone. App installation is optional. Local drafts remain in the current browser and device; moving between devices requires an explicit supported transfer or Cloud/sharing feature. Printing and installation depend on browser and operating-system support.