NoUploadPDFDESIGN.md alpha

NoUploadPDF is a set of free PDF tools (merge, split, extract, rotate, reorder, convert, number, watermark, sign and compress) that run entirely in the browser. Files never leave the user's device, and that promise is the headline of every screen. The look is calm, precise and trustworthy: warm paper neutrals, a deep ink for text and primary actions, and one privacy green. Layouts are spacious and flat, with thin borders instead of shadows. Monospace type marks technical facts such as file sizes, counters and '0 bytes uploaded', so the privacy claims read like measured data. Voice is plain and factual. Name what happens to the file ('Processing on this device', 'Done. Nothing was uploaded.'). No hype, no emoji, no stock illustration.

primary#17171a
secondary#55544f
tertiary#007d50
neutral#f7f6f3
Headline
Aa
Search
Body
Aa
Label
Aa
Label

Color Palette

Typography

headline-displayInstrument Sans · 72 · SemiBold

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

headline-lgInstrument Sans · 52 · SemiBold

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

headline-mdInstrument Sans · 34 · SemiBold

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

title-mdInstrument Sans · 18 · SemiBold

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

body-lgInstrument Sans · 19 · Regular

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

body-mdInstrument Sans · 15 · Regular

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

body-smInstrument Sans · 14 · Regular

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

label-lgInstrument Sans · 15 · Medium

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

label-monoJetBrains Mono · 12 · Regular

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

label-capsJetBrains Mono · 12 · Regular

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

data-monoJetBrains Mono · 14 · Medium

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

Corner Radius

4px
6px
10px
12px
16px
9999px

Spacing

Base: 4px
4px
8px
12px
12px
16px
24px
24px
32px
48px
56px
64px
88px
96px
1160px

NoUploadPDF is a set of free PDF tools (merge, split, extract, rotate, reorder, convert, number, watermark, sign and compress) that run entirely in the browser. Files never leave the user's device, and that promise is the headline of every screen. The look is calm, precise and trustworthy: warm paper neutrals, a deep ink for text and primary actions, and one privacy green. Layouts are spacious and flat, with thin borders instead of shadows. Monospace type marks technical facts such as file sizes, counters and '0 bytes uploaded', so the privacy claims read like measured data. Voice is plain and factual. Name what happens to the file ('Processing on this device', 'Done. Nothing was uploaded.'). No hype, no emoji, no stock illustration.

Components

Buttons

Chips

filterfilter-activefile-badge

privacy-pill

privacy-pill

dark-band

Cards

Card Title

Sample body text for the card component.

Card Title

Sample body text for the card component.

Card Title

Sample body text for the card component.

Card Title

Sample body text for the card component.

Inputs

panel

panel

header

header

Elevation & Depth

hero-panel

Do's & Don'ts

Do

Do lead every page with the privacy promise; it is the product.
Do use green only for privacy, local processing and success states.
Dark theme

The dark theme keeps the same layout, type and green, and swaps only the neutrals. A sun/moon icon button (40×40, radius 10) at the right end of the header switches themes. The first visit follows the system prefers-color-scheme, and the user's choice is saved and reused.

• The page becomes near-black (#111113), cards become #1a1a1e, and drop zones become #161619. Text is #ededea, with greys #b9b8b2, #9e9d97 and #8b8a84.

• The primary button inverts to a light fill (#ededea) with ink text. The "+" squares in drop zones invert the same way.

• Privacy green gets brighter for text (#5fd49e) on a deep green container (#0f3b29). The Download button stays green-600 with white text.

• The dark band becomes #19191c so it still separates from the page. The logo tile lifts to #26262b and the page shape stays paper-colored.

• Hover borders use the text color. The hero shadow becomes rgba(0,0,0,0.6).

• Implement it with CSS custom properties on :root and override them on :root[data-theme="dark"]. Set color-scheme to match.

Mobile

The breakpoint is 760px. Design and test at 390 × 844.

• Header: the logo on the left. On the right, the theme toggle (40px) and a 44px menu button whose three bars animate into an ×.

• Menu sheet: a full-height panel under the header, filled with the page color. It starts with the "0 bytes uploaded" pill, then accordion rows (56px tall, 17px/600) for Organize, Convert, Edit and Optimize. Each row expands into tool cards (56px minimum, white surface, name plus description). About is the last row. Picking a tool closes the sheet.

• Spacing: 20px side margins. Section padding scales down with clamp(): the hero goes from 88px to 40px at the top and the dark band from 88px to 56px.

• Hero: a single column. The display headline scales to 44px. The CTAs wrap and stay on one line each. The drop-zone panel sits below the text.

• Tool grid: a single column of full-width cards. The filter chips wrap.

• Tool page: the file-row icon buttons grow to 40px. The action bar wraps, with the status above the buttons.

• Every tap target is at least 40px, and 44px for primary navigation.

Logo

The mark is the "Locked page": a paper-colored page with a green folded corner and a green padlock badge cut into its lower-right corner, on an ink tile with a 12/48 corner radius. The wordmark is "NoUpload" in ink with "PDF" in Privacy Green, set in Instrument Sans 600.

The artwork as plain geometry, so it survives any markdown sanitiser and can be redrawn exactly. Draw on a 48 by 48 canvas, in this order:

| # | Shape | Geometry | Paint |

|---|-------|----------|-------|

| 1 | Tile | rect at 0,0 size 48 by 48, corner radius 12 | fill #17171a |

| 2 | Page | path M12 9h14l7 7v23H12z | fill #f7f6f3 |

| 3 | Folded corner | path M26 9v7h7z | fill #3fbf8a |

| 4 | Badge cut-out | rect at 24,24 size 18 by 18, corner radius 4.5 | fill #17171a |

| 5 | Padlock shackle | path M29.5 31v-2.5a3.5 3.5 0 0 1 7 0V31 | stroke #3fbf8a, width 2.6, round caps, no fill |

| 6 | Padlock body | rect at 26.5,30.5 size 13 by 9, corner radius 2.2 | fill #3fbf8a |

| 7 | Keyhole | circle centred 33,35 radius 1.5 | fill #17171a |

On ink and dark surfaces the tile lifts to #26262b and the green darkens to #1f8a5f; the page stays #f7f6f3. The same mark serves as the favicon; do not render it below 16px.

Content

Tools (category · name · description · action button · output file):

• Organize · Merge PDF · Bring multiple PDFs together in one file. · Merge PDFs · merged.pdf

• Organize · Split PDF · Separate a PDF into smaller files. · Split PDF · split-pages.zip

• Organize · Extract pages · Save just the pages you need. · Extract pages · extracted.pdf

• Organize · Rotate PDF · Turn pages to the right orientation. · Rotate pages · rotated.pdf

• Organize · Reorder & delete · Arrange or remove pages with ease. · Save changes · reordered.pdf

• Convert · Images to PDF · Turn your images into a single PDF. · Create PDF · images.pdf

• Convert · PDF to images · Save PDF pages as image files. · Convert to images · pages.zip

• Edit · Page numbers · Add clear page numbers to your PDF. · Add page numbers · numbered.pdf

• Edit · Watermark PDF · Add a personal mark to your pages. · Add watermark · watermarked.pdf

• Edit · Sign PDF · Add your signature to a document. · Sign document · signed.pdf

• Optimize · Compress PDF · Make a PDF smaller and easier to share. · Compress PDF · compressed.pdf

Pages:

• Home: eyebrow "Private PDF tools · Free"; headline "Your PDFs never leave your device."; lead "Merge, split, compress and sign PDFs directly in your browser. Nothing is uploaded, so there is nothing to leak."; CTAs "Browse 11 tools" and "How it stays private"; then "Choose a tool"; then a dark band "The work happens in your browser, not on a server."

• Tool page: breadcrumb, H1, description and a privacy pill; then the drop zone, file list and action bar; then "More tools".

• About: headline "Built so your documents stay yours."; lead "Most online PDF tools send your files to a server to process them. NoUploadPDF does the work inside your browser instead. Contracts, IDs and invoices are handled on your own device and never travel over the network."

Steps: "Open a file / Pick or drop a PDF. It is read directly by your browser." · "Process locally / Merging, splitting and compressing run on your own device." · "Save the result / Download the new file. Nothing is sent to a server."

FAQ:

• Are my files uploaded anywhere? No. Every tool runs in your browser using your device. Files are read locally and the result is saved straight back to your device.

• Does it work offline? Once the page has loaded, the tools keep working without an internet connection.

• Is it free? Yes. All tools are free to use and no account is needed.

• Is there a file size limit? Limits depend on your device's memory rather than a server quota. Very large files may take longer on older devices.

Download .md

License MIT
Uploaded 6 days ago
Version v3
File size 16.9 KB
Downloads 19
Copies 3

Use with MCP

Using designmd mcp, download the design system https://designmd.ai/laxmimerit/nouploadpdf and implement it in my code

Don't have the MCP? Install it here