make receipt online free pdf
Make a Receipt Online Free PDF in Your Browser

What a Browser-Based "Free PDF Receipt" Actually Means

A receipt that becomes a PDF in your browser starts as ordinary form inputs — a merchant name, a date, a receipt number, and itemized line items — that the page converts to a printable layout using integer minor-unit arithmetic, then hands to the browser print dialog or saves as a standalone HTML file you can reopen later. With Receipt Maker, no document is uploaded; every field, total, and the change figure is rendered locally in the current tab. The free PDF path is two clicks from the finished preview: open the browser print dialog and choose "Save as PDF" as the destination, or use Download HTML to keep a portable file that any browser can open and print later. Because the entire workflow happens inside one tab, you keep control of merchant details, line items, prices, notes, and payment figures while the page handles the arithmetic that small spreadsheets usually get wrong, like the classic 0.10 + 0.20 = 0.30 case.

When a search asks for a "make receipt online free PDF" workflow, the reader usually wants a printable file that looks like a real proof of payment, kept on the device because receipt details are not uploaded. A browser-based receipt builder delivers all three by treating the print dialog as the PDF factory. The page itself never produces a .pdf file — instead, it produces a clean, validated HTML preview that you convert to PDF using the operating system's print menu ("Save as PDF" on macOS and Windows, or "Print to PDF" in Linux). The HTML preview is also what the Download HTML button saves, so the same source document can be archived on disk, emailed as an attachment, or reopened in any browser later and reprinted without retyping the data.

Fields the Receipt Maker Captures on the PDF

The printable layout is built from a small set of validated fields. Below is the practical meaning of each one, and how the page treats limits behind the scenes.

FieldWhat you enterRule applied by the tool
Merchant nameThe business or person receiving the paymentFree text; appears at the top of the receipt
Payment dateThe day the money actually changed handsFree text, normally a calendar date
Receipt numberAny unique identifier you want printedFree text; useful for matching against a journal
Display currencyThe currency code or symbol shown on the pageUsed only for display; no FX conversion
Line itemsDescription, quantity (up to 3 decimals), unit price (up to 2 decimals)Up to 100 lines; blank, negative, non-finite, or malformed values are rejected
DiscountFlat amount subtracted from the subtotalCannot exceed the subtotal; subtracted before tax
Tax ratePercentage applied to the discounted subtotalRounded to the nearest minor unit after calculation
TipFlat amount added after taxAdded after tax; not percentage-based
Amount tenderedHow much the customer actually handed overGeneration stops if this is less than the calculated total

One detail worth noting: the displayed currency label does not change the arithmetic. If you select USD the page formats values with two decimals, while a zero-decimal currency would be shown without them. Internally, every monetary input is converted to an integer count of minor units before any addition or subtraction, so the printed total on the PDF is the exact integer result, not a rounded float. For currencies displayed with two decimal places, one major unit is converted to one hundred minor units before any addition or subtraction, which is the exact mechanism that prevents a binary floating-point tail from appearing on the printable page.

How to Make the Receipt Step by Step

  1. Open Receipt Maker in any modern browser. The page loads with empty fields and no default receipt number, so you control what appears on the printable preview.
  2. Type the merchant name, payment date, receipt number, and choose the display currency. These four header fields appear at the top of the PDF.
  3. For each item or service that was paid for, enter a short description, a quantity (up to three decimal places, such as 1.5 hours of labor), and a unit price (up to two decimal places). The tool rejects blank lines, negative numbers, non-finite values, and inputs with too many decimals instead of silently replacing them with zero.
  4. Enter a flat discount amount that is less than or equal to the subtotal of the validated line items.
  5. Enter the percentage tax rate that applies to your transaction. The page applies it to the subtotal after the discount has been subtracted, then rounds to the nearest minor unit.
  6. Enter any flat tip that was added on top of the tax. The tip is added after tax, not on top of a tax-inclusive base.
  7. Enter the amount the customer actually tendered. If this number is below the calculated total, the page refuses to generate a receipt — that guard prevents an unpaid or partially paid request from being mislabelled as a paid receipt.
  8. Click the generate button, read the preview carefully, and verify the subtotal, discounted subtotal, tax, tip, total, and change amounts. Changing any field clears the last result so an old receipt cannot be mistaken for output based on new inputs.
  9. Use the page's Print button to open the browser print dialog. From there, pick "Save as PDF" as the destination to write a free PDF file. Alternatively, click Download HTML to save a standalone receipt file you can reopen later in any browser and print again.

If a step fails — for example, the discount is larger than the subtotal, a quantity has four decimals, a unit price has three decimals, or the tendered amount is short — the page reports the problem instead of guessing. Fix the offending field and click generate again. A line amount is rounded to the nearest minor unit only after the validated quantity is multiplied by the integer unit price, so fractional quantities such as 1.5 hours at $20.00 produce an exact $30.00 line, not a long-decimal approximation.

From Browser Page to PDF: Two Output Paths

Once the preview looks right, you have two clean ways to get a PDF file onto disk. The first path is through the browser's built-in print stack. Clicking Print receipt opens the standard print dialog (documented in the MDN Window.print reference); on macOS, Windows, and most Linux desktops that dialog lists "Save as PDF" or "Microsoft Print to PDF" as a virtual printer, which writes a real PDF file without uploading anything. The second path is the Download HTML button. That action creates a Blob containing the same validated values visible in the preview, including a compliance disclaimer, and saves it as a standalone .html file on your device. The Blob URL mechanism used to write the file is described in the MDN Blob reference. Because the file is plain HTML, you can email it, archive it, or reopen it later and use Print → Save as PDF to produce the final PDF without retyping the data.

The HTML download matters in one specific case: if you close the tab before printing, the preview is gone. Saving the HTML file preserves the exact rendered document — same totals, same change amount, same disclaimer — so the audit trail is not lost. For a deeper walk-through of the same integer-arithmetic logic with extra worked examples, see how to make a receipt with exact totals.

Why the Numbers on the Printable Receipt Are Exact

Spreadsheets and many online calculators build totals with binary floating-point math, which produces visible errors like 0.10 + 0.20 = 0.30000000000000004. The Receipt Maker avoids that class of bug by converting each two-decimal monetary input to an integer count of minor units before any arithmetic. A $10.00 unit price becomes 1000, a $5.50 unit price becomes 550, and a 0.08 tax rate is applied to an integer discounted subtotal of, say, 4050 minor units, producing 324 minor units of tax — which formats back to $3.24 with no floating-point tail.

The same rule governs the order of operations. The page first adds every validated line amount to form the subtotal, subtracts the flat discount (clamped at zero — it cannot exceed the subtotal), applies the entered tax percentage to the discounted subtotal and rounds to the nearest minor unit, then adds the flat tip. The final total therefore equals discounted subtotal plus tax plus tip. The change figure is the tendered amount minus the total. Here is the order with a single worked example, all values shown as the integer minor units the page actually adds:

  • Line 1: 2 × $10.00 = $20.00 (subtotal contribution: 2000 minor units)
  • Line 2: 3 × $5.50 = $16.50 (1650 minor units)
  • Line 3: 4 × $2.25 = $9.00 (900 minor units)
  • Subtotal = 2000 + 1650 + 900 = 4550 minor units = $45.50
  • Flat discount $5.00 → discounted subtotal = 4550 − 500 = 4050 minor units = $40.50
  • Tax 8% on 4050 → 324 minor units, rounded to the nearest minor unit = $3.24
  • Flat tip $4.00 → 400 minor units
  • Total = 4050 + 324 + 400 = 4774 minor units = $47.74
  • Tendered $50.00 (5000 minor units) minus total 4774 = 226 minor units of change = $2.26

All of those values are integer math at the moment they hit the preview, which is why the printed PDF and the downloaded HTML file always show the same totals. Quantity accepts up to three decimals and unit price accepts up to two, so a single line can still represent fractional units such as 1.5 hours at $20.00, but the multiplication rounds to the nearest minor unit only after the integer product is computed, which keeps each line amount exact.

Limits, Guardrails, and When You Need Something Else

The tool has explicit limits that change whether it can complete the task. A single receipt is capped at 100 line items, totals outside the supported amount range are reported instead of silently clipped, and the page refuses to generate anything when the tendered amount is below the calculated total. Generation also stops on blank, negative, non-finite, or malformed numbers rather than substituting zero. If any of those guards trigger, the printed file is never produced, which is the desired behavior for a tool that is allowed to produce only paid receipts.

A few responsibilities are deliberately not built into the tool. There are no jurisdiction-specific tax tables, product exemptions, rounding mandates, sequential numbering rules, customer accounts, partial-payment allocation, refund handling, or fiscal-receipt signatures. The downloaded HTML file and the printed PDF can both be edited in a text editor, so the page includes a compliance disclaimer and recommends keeping the authoritative payment processor record, cash register journal, bank entry, or signed agreement alongside any printable copy. If you need to request payment, set a due date, or show an outstanding balance, an invoice generator is the appropriate destination; if you need to record a partial payment with an audit trail, bookkeeping software is the right choice. For the everyday case of one completed payment that you want on paper or as a free PDF, Receipt Maker covers the workflow end to end.