New: sgcCustomization HTML. We build your web application for you. Describe the application you need and our team builds it with sgcHTML + sgcWebSockets. Packages from €149.
Discover sgcCustomization HTML

sgcHTML

Build complete, modern web UIs straight from Delphi, C++ Builder and .NET. sgcHTML is a server-side component framework with 93 ready-made widgets — charts, grids, forms, dashboards, chat and more — many of which bind straight to a TDataSet, render to Bootstrap 5 markup and stay interactive through htmx. You write Object Pascal or C#, sgcHTML writes the HTML, CSS and JavaScript.

93 UI Components
Data-aware / TDataSet
Bootstrap 5 + htmx
Delphi / C++ Builder / .NET
No JavaScript Required
ERP dashboard built with sgcHTML for Delphi, shown in a browser window: KPI cards, a revenue bar chart and a recent-invoices grid.

Getting Started →

See sgcHTML in Two Minutes

Build a complete web UI from Delphi with server-side components, Bootstrap 5 markup and htmx, with no JavaScript build step.

Nine Real Applications, Running Right Now

Every screen below is a Delphi application serving its own HTML through sgcHTML. No JavaScript build step, no separate front-end project. Sign in with the credentials already filled in on each login page.

ERP: a Delphi web application built with sgcHTML, shown running in a browser.

ERP

Customers, products, providers and invoicing, with dashboard charts, role-based admin and passkey sign-in.

Open the live demo →
Reporting & BI: a Delphi web application built with sgcHTML, shown running in a browser.

Reporting & BI

Dashboards, a report catalogue, an ad-hoc pivot builder and an explore view over 27,000 order lines, queried in-process.

Open the live demo →
Point of sale: a Delphi web application built with sgcHTML, shown running in a browser.

Point of sale

A touch till with categories, promotions, parked sales, shift handling and a live customer display.

Open the live demo →
Warehouse (WMS): a Delphi web application built with sgcHTML, shown running in a browser.

Warehouse (WMS)

Inbound, outbound, stock on hand, movements and cycle counts, plus a handheld terminal layout for scanners.

Open the live demo →
Field service: a Delphi web application built with sgcHTML, shown running in a browser.

Field service

A dispatch board, Gantt planner and live technician map for scheduling engineers and jobs.

Open the live demo →
Admin console: a Delphi web application built with sgcHTML, shown running in a browser.

Admin console

Search-as-you-type, inline add and edit, and delete, all swapped in as htmx fragments with no page reload.

Open the live demo →
Live monitor: a Delphi web application built with sgcHTML, shown running in a browser.

Live monitor

Server metrics pushed over WebSocket into out-of-band htmx fragments, updating KPI cards and charts in real time.

Open the live demo →
Customer portal: a Delphi web application built with sgcHTML, shown running in a browser.

Customer portal

A self-service area where customers see their own orders, profile and support tickets behind a login.

Open the live demo →
Multi-tenant SaaS: a Delphi web application built with sgcHTML, shown running in a browser.

Multi-tenant SaaS

A public marketing site, pricing page and signup flow in front of a per-tenant isolated control plane.

Open the live demo →
Gantt, charts and maps, drawn server-side: a Delphi web application built with sgcHTML, shown running in a browser.

Gantt, charts and maps, drawn server-side

The Gantt planner, Chart.js series, gauges, sparklines, tree maps and heat maps are all produced from your Pascal or C# code. You set the data, sgcHTML emits the markup and the client-side wiring.

An ad-hoc pivot builder over a live dataset: a Delphi web application built with sgcHTML, shown running in a browser.

An ad-hoc pivot builder over a live dataset

Users pick dimensions, measures and an aggregation, and the cross-tab is rebuilt from a TFDQuery. There is no REST layer in between, the page reads the database directly in-process.

The same components, on a handheld scanner: a Delphi web application built with sgcHTML, shown running in a browser.

The same components, on a handheld scanner

Every component renders responsive Bootstrap 5 markup, so the warehouse terminal layout is the same component library at a phone width, not a separate mobile codebase.

Seventeen Short Videos, No Slides

Every clip is a screen recording of one of these applications actually running, narrated and captioned. Nothing downloads until you press play.

A full ERP from one exe

A 7.7 MB Delphi executable, no DLLs beside it, serving a complete web ERP off SQLite.

The component catalogue

A tour of the 93 components, from grids and charts to Kanban boards and signature pads.

The grid, nine behaviours deep

Sorting, filtering, paging, inline edit, selection and dataset binding, all driven from Pascal.

htmx in a hurry

How a fragment swap replaces a page reload, and what that looks like in your Delphi code.

Real time over WebSocket

Server metrics pushed into out-of-band fragments, updating cards and charts as they change.

A till with no REST tier

The point-of-sale demo reading the database in-process, with no JSON API in the middle.

Reporting straight off the data

Dashboards, a pivot builder and an explore view over 27,000 order lines.

Fifty components in one app

The warehouse demo, counting up the component library it leans on screen by screen.

Dispatcher and technician, side by side

The same application on a desktop board and a phone, staying in sync.

Multi-tenant isolation, proved

One binary, one database, strict per-tenant separation, demonstrated rather than asserted.

A customer portal

Self-service orders, profile and support tickets behind a login.

Live CRUD without a reload

Search-as-you-type, inline add and edit, and delete, swapped in as htmx fragments.

A helpdesk with a ticket flow

Registration, ticket threads and status changes, all server-rendered.

An AI assistant grounded in your data

A shop assistant answering from the product catalogue rather than inventing an answer.

Whole-site layouts

Navigation, sidebars and page composition built from the Site component.

Dropping into WebBroker

Adding sgcHTML output to an existing Delphi WebBroker application.

WebBroker and DataSnap together

Serving a modern front end from a service layer you already have.

You Write Pascal or C#. sgcHTML Writes the Front End.

sgcHTML turns your existing Delphi, C++ Builder or .NET back end into a web application server. Every component is a native class that emits Bootstrap 5 HTML; htmx keeps the page interactive and live without a single line of hand-written JavaScript.

Components that render HTML

Every widget is a class — TsgcHTMLComponent_Chart, TsgcHTMLComponent_Grid, TsgcHTMLComponent_Form and 86 more. Set its properties, then read its HTML property to get clean, Bootstrap 5 markup ready to serve.

Served by your own server

Drop a TsgcHTMLEngine_Server (or wire the HTML to an existing TsgcWebSocketHTTPServer). Requests arrive in your OnCommandGet handler; you answer with a page built from components. No external web stack.

WebBroker & DataSnap hosting

sgcHTML is not tied to the sgcWebSockets server. Serve the same component-built pages from any Embarcadero WebBroker application via TsgcHTMX_Engine_Server_WebBroker, or from a DataSnap server with live WebSocket push on the same port as your REST endpoints.

WebBroker & DataSnap hosting →

Interactive through htmx

Add a TsgcHTMX_Engine_Server and clicks, form posts and live updates round-trip to your Pascal/C# event handlers. The server swaps HTML fragments in place — the SPA feel, none of the JavaScript build chain.

Real-time over WebSockets

Because htmx runs over the sgcWebSockets server, you can push live HTML to every connected browser. Dashboards, monitors and chat windows update the instant your data changes — server-driven, no polling.

Theming & templates

TsgcHTMLTemplate_Bootstrap wraps your content in a complete responsive document; TsgcHTMLThemeController and TsgcHTMLThemeBuilder provide light/dark themes and a shared stylesheet. Bootstrap 5.3 and htmx ship embedded — no CDN at runtime.

Direct database binding

Grid, DataTable, Chart, Select, TreeView, Scheduler, Timeline and Form bind straight to a TDataSet via LoadFromDataSet / DataSource. Point a component at a query and it renders the rows.

Localized UI, 17 languages

sgcHTML ships built-in UI text (buttons, labels, validation messages) in 17 languages: English, Spanish, French, German, Portuguese, Italian, Dutch, Swedish, Norwegian, Polish, Czech, Turkish, Russian, Chinese, Japanese, Korean and Arabic. Pick one with sgcHTMLSetLanguage and components render in the visitor's language with correct native scripts, including CJK, Cyrillic and Arabic.

Safe output by default

Every component routes its dynamic text, attributes, inline JavaScript and URLs through automatic HTML, attribute, JavaScript and URL encoding plus URL sanitization (sgcHTMLEncode, sgcHTMLAttrEncode, sgcJSEncode, sgcHTMLSanitizeURL), so user data cannot break out of its context and inject script. XSS and injection protection is on without extra work.

93 Components, Nine Families

From navigation chrome to data grids, charts, forms, overlays and AI chat — the full Bootstrap 5 vocabulary as native components. Each links to its own page with Delphi, C++ Builder and .NET examples.

NavBar, Sidebar, Breadcrumb, Tabs, Pagination, Toolbar, TreeView, Stepper, Dropdown, ButtonGroup, ListGroup, DashboardLayout, Splitter.

View components →

Data & Tables

Grid, DataTable, TreeGrid, PivotTable, Calendar, Scheduler, Timeline, ActivityFeed, KanbanBoard, Gantt — sortable, filterable, exportable, dataset-bound.

View components →

Charts & Visualization

Chart (Chart.js), CandlestickChart, Gauge, Heatmap, Sparkline, TreeMap, Diagram (SVG flow), Map (Leaflet), QRCode, Barcode — data-driven visuals from your own datasets.

View components →

Forms & Inputs

Form, Edit, Memo, CheckBox, RadioGroup, Select, MultiSelect, InputGroup, AutoComplete, DatePicker, TimePicker, ColorPicker, Slider, FileUpload, RichEditor, Rating, SignaturePad, Transfer.

View components →

Content & Layout

Panel, StatCard, Accordion, Carousel, Image, Avatar, Video, Badge, PDFViewer — cards, media and KPI tiles for dashboards.

View components →

Overlays & Feedback

Modal, Offcanvas, Popover, Toast, Snackbar, Notification, Spinner, Placeholder, ContextMenu, ProgressBar, JobProgress, LogViewer — dialogs and status surfaces.

View components →

Chat & AI

ChatBox, Chat (WhatsApp-style), AIChat with provider selector, token streaming and RAG source citations, Presence for live online status.

View components →

Authentication

Login, SocialLogin (OAuth), OAuthCallback, WebAuthnLogin (passkeys), UserManagement, RolesPermissions — ready-made sign-in flows and admin screens.

View components →

Infrastructure & Engine

EngineServer, HTMXEngine, PageBuilder, TemplateBootstrap, ThemeController, ThemeBuilder, HTMXFragment, HTMXRouter — the non-visual pieces that serve pages and keep them live.

View components →

See the full feature matrix →

A Web Dashboard in a Few Lines

Start an HTTP server, attach the htmx engine, and answer requests with a page built from components. The same API in Delphi, C++ Builder and .NET.

uses
  sgcWebSocket_Server, sgcHTMX_Engine_Server,
  sgcHTML_Template_Bootstrap, sgcHTML_Component_Chart;

// 1. Start a server and attach the htmx engine
FServer := TsgcWSHTTPServer.Create(nil);
FServer.Port := 8080;
FServer.OnCommandGet := HandleGet;

FHTMX := TsgcHTMX_Engine_Server.Create(nil);
FHTMX.Server := FServer;        // realtime htmx over WebSocket

FServer.Active := True;

// 2. Build the page from components
function TForm1.BuildDashboard: string;
var
  oChart: TsgcHTMLComponent_Chart;
  oPage: TsgcHTMLTemplate_Bootstrap;
begin
  oChart := TsgcHTMLComponent_Chart.Create(nil);
  oPage := TsgcHTMLTemplate_Bootstrap.Create(nil);
  try
    oChart.ChartType := ctBar;
    oChart.AddLabel('Q1'); oChart.AddLabel('Q2'); oChart.AddLabel('Q3');
    oChart.AddDataset('Revenue', [1200, 1900, 1500],
      '#7C3AED', 'rgba(124,58,237,.25)', True);

    oPage.Title := 'Dashboard';
    oPage.BodyContent := oChart.HTML;   // component -> HTML
    Result := oPage.GetHTML;            // full Bootstrap document
  finally
    oPage.Free;
    oChart.Free;
  end;
end;
// includes: sgcWebSocket_Server.hpp, sgcHTMX_Engine_Server.hpp,
//           sgcHTML_Template_Bootstrap.hpp, sgcHTML_Component_Chart.hpp

// 1. Start a server and attach the htmx engine
FServer = new TsgcWSHTTPServer(this);
FServer->Port = 8080;
FServer->OnCommandGet = HandleGet;

FHTMX = new TsgcHTMX_Engine_Server(this);
FHTMX->Server = FServer;          // realtime htmx over WebSocket

FServer->Active = true;

// 2. Build the page from components
String __fastcall TForm1::BuildDashboard()
{
  TsgcHTMLComponent_Chart *oChart = new TsgcHTMLComponent_Chart(NULL);
  TsgcHTMLTemplate_Bootstrap *oPage = new TsgcHTMLTemplate_Bootstrap(NULL);
  try
  {
    oChart->ChartType = ctBar;
    oChart->AddLabel("Q1"); oChart->AddLabel("Q2"); oChart->AddLabel("Q3");
    oChart->AddDataset("Revenue", OPENARRAY(double, (1200, 1900, 1500)),
      "#7C3AED", "rgba(124,58,237,.25)", true);

    oPage->Title = "Dashboard";
    oPage->BodyContent = oChart->HTML;   // component -> HTML
    return oPage->GetHTML();             // full Bootstrap document
  }
  __finally
  {
    delete oPage;
    delete oChart;
  }
}
using esegece.sgcWebSockets;

// 1. Start a server and attach the htmx engine
var server = new TsgcWebSocketHTTPServer();
server.Port = 8080;
server.OnCommandGet += HandleGet;

var htmx = new TsgcHTMX_Engine_Server();
htmx.Server = server;            // realtime htmx over WebSocket

server.Active = true;

// 2. Build the page from components
string BuildDashboard()
{
    var chart = new TsgcHTMLComponent_Chart();
    chart.ChartType = TsgcHTMLChartType.ctBar;
    chart.AddLabel("Q1"); chart.AddLabel("Q2"); chart.AddLabel("Q3");
    chart.AddDataset("Revenue", new double[] { 1200, 1900, 1500 },
        "#7C3AED", "rgba(124,58,237,.25)", true);

    var page = new TsgcHTMLTemplate_Bootstrap();
    page.Title = "Dashboard";
    page.BodyContent = chart.HTML;   // component -> HTML
    return page.GetHTML();            // full Bootstrap document
}

High-Level Components or Low-Level Nodes

Reach for ready-made components when you want a widget in one line, or drop to the node layer when you need full control over the markup.

Component layer

The 93 TsgcHTMLComponent_* widgets. Configure properties, optionally bind a dataset, read HTML. Many also expose a static Build(...) helper for one-line inline use.

Node / composition layer

Primitives like TsgcHTMLContainer (with a Void flag for self-closing tags), TsgcHTMLCard, TsgcHTMLForm, TsgcHTMLField, TsgcHTMLButton and TsgcHTMLTable compose into any layout, then render with TsgcHTMLTemplate_Bootstrap. The node set also includes Bootstrap building blocks such as TsgcHTMLModal, TsgcHTMLOffcanvas, TsgcHTMLAccordion, TsgcHTMLCarousel, TsgcHTMLToast, TsgcHTMLProgress, TsgcHTMLSpinner, TsgcHTMLListGroupNode, TsgcHTMLInputGroup, TsgcHTMLButtonGroupNode, TsgcHTMLRadio, TsgcHTMLBreadcrumb, TsgcHTMLNavbarNode and TsgcHTMLImage.

Visual page builder

TsgcHTMLPageBuilder with its design-time editor lets you assemble pages in the IDE, while TsgcHTMLThemeController manages light/dark theming across the whole app.

Don't Want to Build It Yourself?

With sgcCustomization HTML you describe the application you need and the eSeGeCe team builds it for you with the sgcHTML + sgcWebSockets components. Three one-time packages from €149, and you receive a complete project you can compile, extend and restyle with your licensed components.

Coming from Another Web Framework?

Already have a web application built with IntraWeb, uniGUI, TMS WEB Core, Elevate Web Builder or D2Bridge? Step-by-step guides walk you through moving it to sgcHTML, with a concept mapping for each framework. There is also a migration assistance form if you want our team to help plan or do the move.

3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
30-Day Money-Back GuaranteeNot satisfied? Request a full refund within 30 days of purchase. See refund policy

Ship a Web UI Without Leaving Your IDE

Add charts, grids, forms, dashboards and real-time pages to your Delphi, C++ Builder or .NET application — with the language you already use.

Other Products by eSeGeCe

Pair sgcHTML with our other Delphi, C++ Builder and .NET component libraries.

sgcWebSockets

Enterprise WebSocket, HTTP/2, MQTT, AMQP, WebRTC and AI/LLM components. sgcHTML is served over the same high-performance HTTP and WebSocket servers.

Learn more →

sgcQUIC

QUIC and HTTP/3 client and server components for Delphi, C++ Builder and .NET. Serve sgcHTML's rendered UI over HTTP/3 for lower-latency page loads on lossy networks.

Learn more →

sgcWebRTC

Full WebRTC media engine for Delphi and C++ Builder: audio/video calls, data channels and screen share. An add-on for sgcWebSockets Enterprise.

Learn more →

sgcSign

Enterprise digital signatures — XAdES, PAdES, CAdES and ASiC with 10 key providers and 21 EU country profiles.

Learn more →

sgcOpenAPI

OpenAPI 3.0 parser and SDK generator. Turn any OpenAPI spec into a strongly-typed Delphi client in seconds.

Learn more →

sgcBiometrics

Native Windows Hello, fingerprint and Windows Biometric Framework components for Delphi and C++ Builder.

Learn more →

sgcIndy

Updated Indy TCP/IP components with modern TLS, IPv6 and HTTP/2 support for Delphi 7 through 13.

Learn more →

sgcAI

15 AI, LLM and MCP components for Delphi and C++ Builder. One chat component reaches OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok and Mistral. Standalone, the sgcWebSockets Core runtime is bundled in.

Learn more →

sgcMQ

MQTT 3.1.1 and 5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka and STOMP client components for Delphi and C++ Builder. Standalone, the sgcWebSockets Core runtime is bundled in.

Learn more →

sgcCrypto

General-purpose cryptography library for Delphi and C++ Builder: symmetric and asymmetric ciphers, hashing and post-quantum algorithms. Ships free from sgcWebSockets Standard up.

Learn more →

sgcSocial

WhatsApp Business Cloud API and Telegram TDLib clients. Standalone, the sgcWebSockets Core runtime is included.

Learn more →