ForHosting KIT · Documents & PDF

Rotate PDF pages 90, 180, or 270 degrees

Rotate PDF Pages fixes documents that contain sideways or upside-down sheets without changing every page.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Runs in your browser. Free, unlimited — your data never leaves this page.

Supply a classic PDF, identify the pages with a simple one-based selection such as 2,4-6, and choose a clockwise angle of 90, 180, or 270 degrees. The result is a reconstructed PDF with rotation entries applied only to those selected pages. Processing is deterministic and local to the request, with no network access, random values, timestamps, or retained files.

Choose exactly which pages should turn

Start by identifying the pages whose orientation is wrong in the document as it is currently ordered. The page selection uses one-based numbering, so the first visible page is 1, the second is 2, and so on. You can name individual pages with commas, write an inclusive range with a hyphen, or combine both forms. For example, 1,3-5 rotates the first, third, fourth, and fifth pages while leaving page 2 unchanged. Repeated page numbers are accepted but processed only once, which keeps the result predictable. Ranges must run forward and every selected number must exist in the PDF. If the document contains six pages, a selection ending at 7 is rejected instead of being silently shortened. This strict behavior is useful in automated workflows because an outdated page selection cannot accidentally produce a partially corrected document. Review the document page count before submitting a saved selection against a newly generated report, scan, invoice bundle, or presentation export.

Select the correct clockwise angle

The angle describes a clockwise turn applied to each selected page. Choose 90 when content lying on its left side needs a quarter turn, 180 for content that is upside down, or 270 when content needs a quarter turn in the opposite direction. Those are the only accepted values. An angle of 0 would perform no useful work, while arbitrary angles such as 45 degrees would require changing the page geometry and could clip content, so they are rejected as invalid input. Existing page rotation is respected rather than overwritten. If a page already carries a 90-degree rotation and you request another 90 degrees, its resulting rotation becomes 180 degrees. The calculation wraps cleanly after a full turn. This makes repeated operations understandable and lets you correct mixed-orientation files without guessing whether a prior tool stored rotation metadata. The output also reports the applied angle and the selected page numbers, giving an integration a compact record of what changed.

Understand the supported PDF structure and output

This capability reads classic PDF files whose pages are represented as ordinary indirect page objects and then reconstructs a valid cross-reference table. It preserves each indirect object body, changes only the rotation entry of selected page dictionaries, and writes the objects in stable numeric order. That approach makes identical input produce identical output, which is valuable for tests, caching, and audit trails. PDFs that store their structure in compressed object streams or cross-reference streams are rejected with a clear input error instead of being rewritten incompletely. If a source document uses that newer structure, save or export it as a classic PDF before rotating it here. The returned object contains the reconstructed PDF text, the selected one-based page numbers, and the accepted angle. No network request, model call, timestamp, or random identifier participates in the transformation. Browser use is available for interactive corrections, while API calls cost $0.002 per request for repeatable document pipelines and batch systems.

Correct mixed scanner output

Rotate only the sheets that entered a scanner sideways while preserving correctly oriented pages.

Repair assembled reports

Fix landscape appendices or upside-down inserts after several source documents have been combined.

Automate document intake

Apply a known page-selection rule to recurring PDF packages and record which pages were changed.

Which rotation angles are accepted?

Only clockwise rotations of 90, 180, and 270 degrees are accepted. Any other value returns an invalid input error.

How do I select several pages?

Use one-based numbers separated by commas, inclusive ranges such as 3-5, or a combination such as 1,3-5.

What happens to pages I do not select?

Their page dictionaries remain unchanged. Only selected page objects receive an updated rotation entry.

Does the tool preserve an existing rotation?

Yes. The requested angle is added to the existing page rotation and the result is normalized to a full turn.

Why was my PDF structure rejected?

The deterministic parser supports classic indirect objects and cross-reference tables, not compressed object or cross-reference streams.

What does an API request cost?

Each API request costs $0.002. Interactive browser execution is available without a network call.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/pdf/rotate-pages

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/pdf/rotate-pages \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pdf":"https://ejemplo.com/documento.pdf","pages":"2","angle":90}'
{
  "pdf": "https://ejemplo.com/documento.pdf",
  "pages": "2",
  "angle": 90
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.rotate_pages",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_mb25
max_pages200
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →