ForHosting KIT · Documents & PDF

Business card layout generator

Turn a small set of identity and contact details into a practical business card layout without guessing coordinates by eye.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Choose a standard card size and orientation, set an optional safe margin, and receive deterministic regions for the name, title, company, email, phone, website, and address. Every returned coordinate is measured in millimetres, while type sizes are provided in points, making the result useful for document generators, design scripts, print templates, and repeatable brand workflows.

Start with the finished card and its safe area

A business card layout begins with the physical object, not a screen canvas. Select the US, ISO, or Japanese standard and choose landscape or portrait orientation. The generator reports the finished width and height in millimetres, then subtracts the requested inner margin to establish a safe area. That inset is where every text region is placed. It is not a printer bleed or crop allowance; those production values belong outside the finished dimensions and should be added by the document system that consumes the result. Keeping that distinction clear prevents text from drifting too close to a trimmed edge. The default four-millimetre margin is a conservative starting point for common cards, while the supported range lets a template owner adjust visual density. Because all positions use the same top-left origin and unit, the output can be transferred directly to SVG, canvas, PDF, or desktop-publishing coordinates with one deliberate unit conversion.

Understand how identity and contact regions are assigned

The safe area is divided into an identity section and a contact section. The identity section always starts with the required name, followed by the title and company when those values are present. Empty optional fields are omitted, so they do not leave mysterious blank rows in the result. The remaining contact section is shared by email, phone, website, and address in that stable order. Each region contains an identifier, semantic role, normalized text, position, dimensions, font size, line allowance, and alignment. This is a layout specification rather than a rendered design: it gives a downstream renderer reliable boxes while leaving font family, weight, colour, decorative rules, logos, and background treatment to the brand system. Landscape cards reserve slightly more vertical emphasis for identity, while portrait cards balance the sections for their taller composition. Identical input always produces identical geometry, which makes the capability suitable for tests, batch generation, and version-controlled templates.

Apply the result in a print or digital workflow

Use the returned card object to create the artboard and the safe_area object to draw optional layout guides during development. For every entry in regions, place the supplied text at x_mm and y_mm inside the stated width and height. Treat font_size_pt as a practical fitted recommendation: the calculation considers text length, available width, region height, and the permitted line count. A long address may use two lines, while compact identity and contact values stay on one line. Your renderer should still use its own font metrics because real typefaces differ in character width, and it may reduce the suggested size if a chosen family is unusually wide. Do not enlarge text beyond the recommendation without checking overflow. Add bleed, crop marks, colour profiles, and printer-specific tolerances after laying out the finished card. For digital previews, preserve the physical aspect ratio so approval images match the eventual print composition instead of stretching to an arbitrary viewport.

Generate employee card templates

Convert staff directory fields into consistent text boxes before rendering branded cards in bulk.

Build a print design form

Preview how submitted identity and contact details occupy a chosen standard card size.

Create testable document layouts

Use deterministic coordinates as golden inputs for SVG, PDF, or canvas rendering pipelines.

What does one request cost?

Each API request costs $0.002. The browser version can run the same deterministic calculation locally.

Which card sizes are supported?

The supported finished sizes are US at 88.9 by 50.8 millimetres, ISO at 85 by 55 millimetres, and Japanese at 91 by 55 millimetres.

Does the safe margin include print bleed?

No. The safe margin is inside the finished edge. Add bleed outside the returned card dimensions in your print-production system.

Are optional empty fields assigned regions?

No. Optional fields that are missing or contain only whitespace are omitted, allowing the remaining lines to use the available space.

Will the recommended font size fit every typeface?

It is a deterministic estimate based on geometry and text length. Check final fitting with the actual font metrics and reduce the size when necessary.

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/doc/business-card-layout

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/doc/business-card-layout \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Jordan Lee","card_size":"us"}'
{
  "name": "Jordan Lee",
  "card_size": "us"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "doc.business_card_layout",
  "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 →