PageSourceSearch

https://werk24.io/product

html werk24.io collected 2026-10-04 04:13:14 UTC 40,568 bytes, 42 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><!-- Preload critical CSS + fonts to flatten network waterfall --><link rel="preload" href="/assets/app-CyoG339X.css" as="style" crossorigin=""><link rel="preload" href="/assets/work-sans-latin-400-normal-jUejSri3.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/assets/work-sans-latin-700-normal-CEeo_t6l.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/assets/work-sans-latin-800-normal-CHo7j6hf.woff2" as="font" type="font/woff2" crossorigin><!-- Strip booking capabilities before analytics or error reporting load. -->
1<script>(()=>{const e=location.pathname.match(/^\/(?:call|schedule-introduction-call)\/([0-9a-f-]{36})(?:\/(?:reschedule|cancel))?$/),t=new URLSearchParams(location.hash.slice(1)).get("token");if(!e||!t||!/^[A-Za-z0-9_-]{43}$/.test(t))return;Object.defineProperty(window,"__w24Credential",{value:{id:e[1],token:t},configurable:!0});try{sessionStorage.setItem("w24-booking:"+e[1],t)}catch(e){}history.replaceState(history.state,"",location.pathname+location.search);const a=document.createElement("meta");a.name="referrer",a.content="no-referrer",document.head.append(a)})()</script>
1<meta charset="utf-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Product | Werk24 — Reads Drawings Like an Engineer</title><!-- Base description (plugin will update this on navigation) --><meta name="description" content="One API-first extraction engine for technical drawings: title-block metadata, geometry &amp; features (GD&amp;T, tolerances, threads), and manufacturability…"><!-- Optional base robots; plugin will update if a route sets meta.seo.robots --><meta name="robots" content="index,follow"><!-- Per-route title, description, OG/Twitter tags, and canonical are
2         injected by useHead in App.vue during SSG (and reactively on the
3         client). The tags below are generic fallbacks that get overwritten
4         per page — keep them generic (no page-specific copy) so a render
5         failure leaves a usable default instead of homepage-specific meta. --><meta property="og:site_name" content="Werk24"><meta property="og:type" content="website"><meta property="og:title" content="Product | Werk24 — Reads Drawings Like an Engineer"><meta property="og:description" content="One API-first extraction engine for technical drawings: title-block metadata, geometry &amp; features (GD&amp;T, tolerances, threads), and manufacturability…"><meta property="og:image" content="https://werk24.io/og/werk24-social-card.svg"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Product | Werk24 — Reads Drawings Like an Engineer"><meta name="twitter:description" content="One API-first extraction engine for technical drawings: title-block metadata, geometry &amp; features (GD&amp;T, tolerances, threads), and manufacturability…"><meta name="twitter:image" content="https://werk24.io/og/werk24-social-card.svg"><style>:root{--bg:#0c1322;--text:#f9fafb;--primary:#e8a838;--accent:#f5c55a;--panel:#141e34;--line:#1c2843;--muted:#c8ceda;--subtle:#8a96b2;--radius-lg:0;--shadow-2:none;--nav-height:70px;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4.5rem}body{margin:0;background:var(--bg);color:var(--muted);font-family:"Work Sans","Work Sans Fallback",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}@font-face{font-family:"Work Sans Fallback";src:local("Arial");ascent-override:83%;descent-override:22%;line-gap-override:0%;size-adjust:104%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{position:sticky;top:0;z-index:100;background-color:var(--bg);border-bottom:1px solid var(--line);height:var(--nav-height);min-height:var(--nav-height)}.nav{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;height:var(--nav-height)}.logo{display:inline-flex;align-items:center}.logo img{width:132px;height:40px}.nav-list{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}.nav-list>li{position:relative;display:block}.dropdown-toggle,.nav-list>li>a:not(.btn){display:inline-flex;align-items:center;line-height:1;padding:.6rem .9rem;border-radius:10px;color:#d0d6e0;background:0 0;border:none;font:inherit;cursor:pointer;font-weight:500;letter-spacing:.01em}.mobile-toggle{display:none}.btn--schedule-call{padding-top:3px;padding-bottom:3px}.locale-toggle{font-size:1.2rem;padding:.55rem .85rem;min-width:3rem;justify-content:center}.hero{--hero-padding-top:var(--space-7);--hero-padding-bottom:var(--space-6);padding:var(--hero-padding-top) 0 var(--hero-padding-bottom)}.hero--home{--hero-home-min-height:max(320px, calc(100vh - var(--nav-height) - var(--hero-padding-top) - var(--hero-padding-bottom)));min-height:var(--hero-home-min-height);display:flex;align-items:stretch}.hero--home .hero__wrap{min-height:var(--hero-home-min-height);flex:1 1 auto;width:100%;align-content:center}.hero__wrap{display:grid;gap:2rem;grid-template-columns:1fr;align-items:center;max-width:1200px;margin:0 auto;padding:0 1rem}@media (min-width:1024px){.hero__wrap{grid-template-columns:1.1fr .9fr}}.hero__copy h1{max-width:20ch;font-size:clamp(2.4rem, 3.6vw, 3.2rem);line-height:1.22;font-weight:800;margin:0 0 1rem}.hero__copy .subhead{font-size:1.1rem;margin:0 0 1.5rem;color:#d0d6e0}.hero__media{display:flex;justify-content:center;align-items:center}.hero-gif{max-width:100%;width:560px;height:auto;aspect-ratio:1045/665;border-radius:22px;border:1px solid #1c2843}@media (max-width:640px){.hero__media{display:none}}
5.cta-group{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1.1rem 1.6rem;border-radius:999px;font-weight:700;min-height:52px}</style><!-- Favicons / PWA bits --><link rel="icon" href="/favicon.ico" sizes="any"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><link rel="canonical" href="https://werk24.io/product"><meta name="theme-color" content="#0c1322"><!-- RSS Feed auto-discovery --><link rel="alternate" type="application/rss+xml" title="Werk24 Blog RSS Feed" href="/feed.xml"><!-- Preconnect to third-party origins to save DNS+TLS time --><link rel="preconnect" href="https://plausible.io" crossorigin=""><!-- Critical path optimization: Vite will inject modulepreload for the built entry point --><!-- Preload the LCP poster image so the browser discovers it from the initial HTML --><link rel="preload" as="image" href="/assets/animation-poster.webp" fetchpriority="high"><!-- Fonts are self-hosted for GDPR compliance (no external requests to Google) --><!-- Per-route JSON-LD (Article, FAQPage, HowTo, BreadcrumbList, …) is
6         emitted by useHead in App.vue and lands in the pre-rendered HTML at
7         SSG time — see src/router/seo-schemas.js. The sitewide Organization
8         schema below stays in the template so it appears on every page
9         (search engines reconcile duplicates by @id). -->
9<script type="application/ld+json">{
10        "@context": "https://schema.org",
11        "@type": "Organization",
12        "@id": "https://werk24.io#organization",
13        "name": "Werk24",
14        "url": "https://werk24.io",
15        "description": "API for extracting PMI and checking RFQ feasibility from technical drawings.",
16        "logo": {
17          "@type": "ImageObject",
18          "url": "https://werk24.io/assets/logo-white.svg"
19        },
20        "sameAs": [
21          "https://www.linkedin.com/company/werk24/",
22          "https://github.com/W24-Service-GmbH",
23          "https://pypi.org/project/werk24/"
24        ]
25      }</script>
25<script type="module" async="" crossorigin="" src="/assets/app-DKZsgnOj.js"></script>
25<link rel="modulepreload" crossorigin="" href="/assets/vue-core-ClKUrPo4.js"><link rel="modulepreload" crossorigin="" href="/assets/i18n-DI-3CGme.js"><link rel="modulepreload" crossorigin="" href="/assets/locale-en-DjNrTr9E.js"><link rel="stylesheet" href="/assets/feature-card-CdqEenge.css" media="print" onload='var s=this;requestAnimationFrame(function(){s.media="all"})'><link rel="stylesheet" href="/assets/dev-showcase-D9e36BpG.css" media="print" onload='var s=this;requestAnimationFrame(function(){s.media="all"})'><link rel="stylesheet" href="/assets/faq-list-BHNAiUmp.css" media="print" onload='var s=this;requestAnimationFrame(function(){s.media="all"})'><link rel="stylesheet" crossorigin="" href="/assets/app-CyoG339X.css"><link rel="modulepreload" crossorigin="" href="/assets/Product-BtMJV3n1.js"><link rel="stylesheet" href="/assets/SiteFooter-broRgmZl.css" media="print" onload='var s=this;requestAnimationFrame(function(){s.media="all"})'><link rel="stylesheet" href="/assets/UpdatePrompt-D4HRWK70.css" media="print" onload='var s=this;requestAnimationFrame(function(){s.media="all"})'>
25<link rel="stylesheet" href="/assets/ConsentBanner-DPvOW7Gj.css" media="print" onload='var s=this;requestAnimationFrame(function(){s.media="all"})'><meta property="og:locale" content="en_US"><meta property="og:url" content="https://werk24.io/product"><link rel="alternate" hreflang="x-default" href="https://werk24.io/product"><link rel="alternate" hreflang="en" href="https://werk24.io/product"><link rel="alternate" hreflang="de" href="https://werk24.io/de/product"><link rel="alternate" hreflang="es" href="https://werk24.io/es/product"><link rel="alternate" hreflang="it" href="https://werk24.io/it/product"><link rel="alternate" hreflang="fr" href="https://werk24.io/fr/product">
25<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://werk24.io"},{"@type":"ListItem","position":2,"name":"Product | Werk24 — Reads Drawings Like an Engineer","item":"https://werk24.io/product"}]}</script>
25</head><body><div id="app" data-server-rendered="true"><div id="page"><a class="skip-link" href="#main">Skip to main content</a><header class="header" data-v-620db7df=""><nav class="container nav" aria-label="Main navigation" data-v-620db7df=""><a class="logo" href="/" aria-label="Werk24 Home" data-v-620db7df=""><img src="/assets/logo-white.svg" alt="Werk24 AI-powered technical drawing analysis" title="Werk24 AI-powered technical drawing analysis" width="132" height="40" decoding="async" data-v-620db7df=""></a><button class="mobile-toggle" aria-expanded="false" aria-label="Show or hide the menu" aria-controls="main-nav" data-v-620db7df="">☰</button><ul id="main-nav" class="nav-list" data-v-620db7df=""><li class="navigation-dropdown" data-v-620db7df=""><button class="dropdown-toggle" aria-expanded="false" aria-haspopup="true" data-v-620db7df="">Products <svg class="chevron" width="10" height="6" viewBox="0 0 10 6" fill="none" data-v-620db7df=""><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-v-620db7df=""></path></svg></button><div class="mega-panel" style="display:none" data-v-620db7df=""><div class="mega-panel__inner" data-v-620db7df=""><div class="mega-panel__aside" data-v-620db7df=""><span class="mega-panel__label" data-v-620db7df="">Products</span><p class="mega-panel__intro" data-v-620db7df="">One reading engine. Three ways to use it.</p></div><ul class="mega-grid mega-grid--three" data-v-620db7df=""><!--[--><li data-v-620db7df=""><a href="/product" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><rect x="3" y="5" width="22" height="18" rx="2" stroke="var(--primary)" stroke-width="1.5"></rect><path d="M11 11l-3 3 3 3M17 11l3 3-3 3" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">Werk24 API</span><span class="mega-item__desc" data-v-620db7df="">Structured drawing data — typed JSON for ERP, PLM and quoting tools.</span></div></a></li><li data-v-620db7df=""><a href="/studio" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><rect x="5" y="3" width="18" height="22" rx="2" stroke="var(--primary)" stroke-width="1.5"></rect><path d="M9 3V1.5M14 3V1.5M19 3V1.5" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path><path d="M9 13l3 3 6-6" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">Werk24 Studio</span><span class="mega-item__desc" data-v-620db7df="">First-article inspections — auto-balloon, measure, and certify AS9102 / EMPB reports.</span></div></a></li><li data-v-620db7df=""><a href="/custom-solutions" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><path d="M6 4v20M13 4v20M20 4v20" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path><circle cx="6" cy="10" r="2.4" fill="var(--bg)" stroke="var(--primary)" stroke-width="1.5"></circle><circle cx="13" cy="16" r="2.4" fill="var(--bg)" stroke="var(--primary)" stroke-width="1.5"></circle><circle cx="20" cy="9" r="2.4" fill="var(--bg)" stroke="var(--primary)" stroke-width="1.5"></circle></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">Werk24 Custom Solutions</span><span class="mega-item__desc" data-v-620db7df="">Custom output profiles — exactly the fields your ERP needs, in your names and structure.</span></div></a></li><!--]--></ul></div></div></li><li class="navigation-dropdown" data-v-620db7df=""><button class="dropdown-toggle" aria-expanded="false" aria-haspopup="true" data-v-620db7df="">Use Cases <svg class="chevron" width="10" height="6" viewBox="0 0 10 6" fill="none" data-v-620db7df=""><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-v-620db7df=""></path></svg></button><div class="mega-panel" style="display:none" data-v-620db7df=""><div class="mega-panel__inner" data-v-620db7df=""><div class="mega-panel__aside" data-v-620db7df=""><span class="mega-panel__label" data-v-620db7df="">Use Cases</span>
25<p class="mega-panel__intro" data-v-620db7df="">See how Werk24 fits into your workflow</p></div><ul class="mega-grid" data-v-620db7df=""><!--[--><li data-v-620db7df=""><a href="/use-cases/accelerated-quoting" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><path d="M6 21V7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H6z" stroke="var(--primary)" stroke-width="1.5"></path><path d="M10 11h8M10 15h5" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path><circle cx="7" cy="3" r="1.5" fill="var(--primary)"></circle></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">Price and costing automation</span><span class="mega-item__desc" data-v-620db7df="">Extract PMI from drawings to price parts in seconds instead of hours.</span></div></a></li><li data-v-620db7df=""><a href="/use-cases/feasibility-analysis" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><path d="M14 3v8l5-3-5-5z" fill="var(--primary)" opacity=".3"></path><path d="M5 6h18M5 14h18M5 22h12" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path><path d="M22 18l-4 4-2-2" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">Feasibility analysis</span><span class="mega-item__desc" data-v-620db7df="">Auto-triage RFQs against your machine and process constraints.</span></div></a></li><li data-v-620db7df=""><a href="/use-cases/supplier-matching" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><circle cx="9" cy="10" r="4" stroke="var(--primary)" stroke-width="1.5"></circle><circle cx="19" cy="10" r="4" stroke="var(--primary)" stroke-width="1.5"></circle><path d="M5 22c0-3.3 2.7-6 6-6h6c3.3 0 6 2.7 6 6" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">Supplier comparison</span><span class="mega-item__desc" data-v-620db7df="">Route each RFQ to the suppliers most likely to win the job.</span></div></a></li><li data-v-620db7df=""><a href="/use-cases/erp-data-entry" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><rect x="4" y="4" width="20" height="20" rx="2" stroke="var(--primary)" stroke-width="1.5"></rect><path d="M4 10h20M10 10v14" stroke="var(--primary)" stroke-width="1.5"></path><path d="M15 15h5M15 19h5" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">ERP data entry</span><span class="mega-item__desc" data-v-620db7df="">Populate item masters and BOMs directly from the drawing.</span></div></a></li><!--]--></ul></div></div></li><li class="navigation-dropdown" data-v-620db7df=""><button class="dropdown-toggle" aria-expanded="false" aria-haspopup="true" data-v-620db7df="">Success Stories <svg class="chevron" width="10" height="6" viewBox="0 0 10 6" fill="none" data-v-620db7df=""><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-v-620db7df=""></path></svg></button><div class="mega-panel" style="display:none" data-v-620db7df=""><div class="mega-panel__inner" data-v-620db7df=""><div class="mega-panel__aside" data-v-620db7df=""><span class="mega-panel__label" data-v-620db7df="">Success Stories</span><p class="mega-panel__intro" data-v-620db7df="">How our customers use Werk24</p></div><ul class="mega-grid" data-v-620db7df=""><!--[--><li data-v-620db7df=""><a href="/case-studies/precision-components-cost-estimation" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><path d="M14 4l8 5v10l-8 5-8-5V9l8-5z" stroke="var(--primary)" stroke-width="1.5" stroke-linejoin="round"></path><path d="M14 14l8-5M14 14v10M14 14L6 9" stroke="var(--primary)" stroke-width="1.5"></path></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">Cost Estimation — Precision Components</span><span class="mega-item__desc" data-v-620db7df="">Automated quoting benchmarked 2.4× more accurate than expert estimators.</span></div></a></li><li data-v-620db7df=""><a href="/case-studies/saphirion-process-automation" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><circle cx="14" cy="14" r="10" stroke="var(--primary)" stroke-width="1.5"></circle><path d="M14 8v6l4 2" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M20 20l4 4" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">Procurement Automation — Saphirion</span><span class="mega-item__desc" data-v-620db7df="">Self-correcting pricing loop built on actual production costs.</span></div></a></li><li data-v-620db7df=""><a href="/case-studies/plastics-company-feasibility-analysis" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><path d="M10 4v6l-4 8h16l-4-8V4" stroke="var(--primary)" stroke-width="1.5" stroke-linejoin="round"></path><path d="M10 4h8" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path><path d="M7 22h14" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path><circle cx="12" cy="16" r="1" fill="var(--primary)"></circle><circle cx="16" cy="15" r="1" fill="var(--primary)"></circle></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">Feasibility Analysis — German Plastics Manufacturer</span><span class="mega-item__desc" data-v-620db7df="">Automated RFQ triage replacing manual feasibility checks.</span></div></a></li><li data-v-620db7df=""><a href="/case-studies/laserhub" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><path d="M4 18L14 4l4 8h6" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><circle cx="14" cy="18" r="3" stroke="var(--primary)" stroke-width="1.5"></circle><path d="M14 15v-3" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">Real-time Quoting — Laserhub</span><span class="mega-item__desc" data-v-620db7df="">Engineering-grade PMI extraction for faster, more accurate quotes.</span></div></a></li>
25<!--]--></ul></div></div></li><li class="navigation-dropdown" data-v-620db7df=""><button class="dropdown-toggle" aria-expanded="false" aria-haspopup="true" data-v-620db7df="">Pricing <svg class="chevron" width="10" height="6" viewBox="0 0 10 6" fill="none" data-v-620db7df=""><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-v-620db7df=""></path></svg></button><div class="mega-panel" style="display:none" data-v-620db7df=""><div class="mega-panel__inner" data-v-620db7df=""><div class="mega-panel__aside" data-v-620db7df=""><span class="mega-panel__label" data-v-620db7df="">Pricing</span><p class="mega-panel__intro" data-v-620db7df="">Per product — published, no sales call required.</p></div><ul class="mega-grid mega-grid--three" data-v-620db7df=""><!--[--><li data-v-620db7df=""><a href="/pricing#api" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><path d="M8 4h9l5 5v13a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z" stroke="var(--primary)" stroke-width="1.5" stroke-linejoin="round"></path><path d="M17 4v5h5" stroke="var(--primary)" stroke-width="1.5" stroke-linejoin="round"></path><path d="M11 15h6M11 19h4" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">API pricing</span><span class="mega-item__desc" data-v-620db7df="">From €1.25/page pay as you go, or €590/mo on the Production plan.</span></div></a></li><li data-v-620db7df=""><a href="/pricing#studio" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><circle cx="14" cy="14" r="10" stroke="var(--primary)" stroke-width="1.5"></circle><path d="M14 8v12M17 10.5c0-1.4-1.3-2.5-3-2.5s-3 1.1-3 2.5 1.3 2.3 3 2.5 3 1.1 3 2.5-1.3 2.5-3 2.5-3-1.1-3-2.5" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">Studio pricing</span><span class="mega-item__desc" data-v-620db7df="">Suppliers from €0 — plans from €99/mo. OEMs always free.</span></div></a></li><li data-v-620db7df=""><a href="/schedule-call" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><path d="M4 7h20M4 14h20M4 21h13" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path><path d="M20 18l2.5 2.5L27 16" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="translate(-4 0)"></path></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">Custom Solutions</span><span class="mega-item__desc" data-v-620db7df="">Scoped individually — talk to an engineer.</span></div></a></li><!--]--></ul></div></div></li><li data-v-620db7df=""><a href="/security" data-v-620db7df="">Security</a></li><li class="navigation-dropdown" data-v-620db7df=""><button class="dropdown-toggle" aria-expanded="false" aria-haspopup="true" data-v-620db7df="">Resources <svg class="chevron" width="10" height="6" viewBox="0 0 10 6" fill="none" data-v-620db7df=""><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-v-620db7df=""></path></svg></button><div class="mega-panel mega-panel--narrow" style="display:none" data-v-620db7df=""><div class="mega-panel__inner" data-v-620db7df=""><div class="mega-panel__aside" data-v-620db7df=""><span class="mega-panel__label" data-v-620db7df="">Resources</span><p class="mega-panel__intro" data-v-620db7df="">Guides, references and insights</p></div><ul class="mega-grid mega-grid--narrow" data-v-620db7df=""><!--[--><li data-v-620db7df=""><a href="/documentation" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><rect x="5" y="3" width="16" height="22" rx="2" stroke="var(--primary)" stroke-width="1.5"></rect><path d="M9 9h8M9 13h8M9 17h5" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">Documentation</span><span class="mega-item__desc" data-v-620db7df="">API reference and integration guides for developers.</span></div></a></li><li data-v-620db7df=""><a href="/blog" class="mega-item" data-v-620db7df=""><svg class="mega-item__icon" width="28" height="28" viewBox="0 0 28 28" fill="none" data-v-620db7df=""><rect x="4" y="5" width="20" height="18" rx="2" stroke="var(--primary)" stroke-width="1.5"></rect><path d="M4 10h20" stroke="var(--primary)" stroke-width="1.5"></path><path d="M8 15h12M8 19h8" stroke="var(--primary)" stroke-width="1.5" stroke-linecap="round"></path></svg><div class="mega-item__text" data-v-620db7df=""><span class="mega-item__title" data-v-620db7df="">Blog</span><span class="mega-item__desc" data-v-620db7df="">Insights on automating technical drawing data extraction.</span></div></a></li>
25<!--]--></ul></div></div></li><li class="navigation-dropdown nav-locale" data-v-620db7df=""><button class="dropdown-toggle locale-toggle" type="button" aria-expanded="false" aria-label="Change language" data-v-620db7df=""><span class="locale-code" aria-hidden="true" data-v-620db7df="">EN</span><svg class="chevron locale-chevron" width="10" height="6" viewBox="0 0 10 6" fill="none" data-v-620db7df=""><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-v-620db7df=""></path></svg></button><ul class="dropdown-menu locale-menu" style="display:none" data-v-620db7df=""><!--[--><li data-v-620db7df=""><button type="button" class="active locale-option" data-v-620db7df=""><span class="flag" aria-hidden="true" data-v-620db7df="">🇺🇸</span><span class="text" data-v-620db7df="">English</span></button></li><li data-v-620db7df=""><button type="button" class="locale-option" data-v-620db7df=""><span class="flag" aria-hidden="true" data-v-620db7df="">🇩🇪</span><span class="text" data-v-620db7df="">Deutsch</span></button></li><li data-v-620db7df=""><button type="button" class="locale-option" data-v-620db7df=""><span class="flag" aria-hidden="true" data-v-620db7df="">🇪🇸</span><span class="text" data-v-620db7df="">Español</span></button></li><li data-v-620db7df=""><button type="button" class="locale-option" data-v-620db7df=""><span class="flag" aria-hidden="true" data-v-620db7df="">🇮🇹</span><span class="text" data-v-620db7df="">Italiano</span></button></li><li data-v-620db7df=""><button type="button" class="locale-option" data-v-620db7df=""><span class="flag" aria-hidden="true" data-v-620db7df="">🇫🇷</span><span class="text" data-v-620db7df="">Français</span></button></li><!--]--></ul></li><li class="nav-div" aria-hidden="true" data-v-620db7df=""></li><li class="nav-demo" data-v-620db7df=""><a class="btn-demo" href="https://studio.werk24.io/demo#cta=nav" target="_blank" rel="noopener" data-v-620db7df="">Try the demo</a></li><li class="nav-signin" data-v-620db7df=""><a href="https://studio.werk24.io/console/login?product=console" data-v-620db7df="">Sign in</a></li><li class="nav-signup" data-v-620db7df=""><a class="btn-signup" href="https://studio.werk24.io/console/signup?product=console#cta=nav" data-v-620db7df="">Sign up</a></li></ul></nav></header><div class="wk wk-page"><main><section class="page-head navy dotgrid"><div class="wrap"><div class="eyebrow"><span class="rule"></span>Product</div><h1>Reads drawings like an engineer.</h1><p>One API-first extraction engine. Send a drawing, ask for the depth you need, and get clean, typed JSON back in seconds — no model training, no templates.</p></div></section><section class="section"><div class="wrap"><div class="section-head reveal"><div class="eyebrow mut"><span class="rule"></span>Three extraction SKUs</div><h2>Pick the depth, per drawing.</h2><p>Three extraction SKUs, mixable in a single call. A page costs the same whatever you ask for.</p></div><div class="axes reveal"><!--[--><div class="axis"><div class="ax-num mono">01</div><div class="ax-top"><span class="ax-lab">Metadata</span></div><h3>Title-block metadata</h3><p>Drawing ID, designation, material, weight, tolerances, projection, BOM and notes — straight from the title block.</p><ul class="ax-fields"><!--[--><li>drawing_id</li><li>material</li><li>weight</li><li>projection</li><li>BOM</li><!--]--></ul></div><div class="axis"><div class="ax-num mono">02</div><div class="ax-top"><span class="ax-lab">Features</span></div><h3>Geometry &amp; features</h3><p>Dimensions, fits, threads, bores, chamfers, GD&amp;T, radii and surface roughness — each with confidence and x/y/bbox coordinates.</p><ul class="ax-fields"><!--[--><li>⌀ dimensions</li><li>H7 / G6 fits</li><li>M-threads</li><li>GD&amp;T</li><li>Ra</li><!--]--></ul></div><div class="axis"><div class="ax-num mono">03</div><div class="ax-top"><span class="ax-lab">Insights</span></div><h3>Manufacturability</h3><p>Primary &amp; secondary processes (DIN 8580) and volume and bounding-box estimates for quoting.</p><ul class="ax-fields"><!--[--><li>DIN 8580</li><li>volume est.</li><li>bbox</li>
25<!--]--></ul></div><!--]--></div></div></section><section class="section alt" id="supported-drawings"><div class="wrap"><div class="section-head reveal"><div class="eyebrow mut"><span class="rule"></span>Supported drawings</div><h2>Send what you already have.</h2><p>Vector or raster, clean or scanned, single- or multi-page (as PDF). ISO and ASME / ANSI, across six languages.</p></div><div class="formats reveal"><!--[--><div class="fmt"><div class="ext">PDF</div><div class="desc">vector &amp; scanned</div></div><div class="fmt"><div class="ext">TIFF</div><div class="desc">scans</div></div><div class="fmt"><div class="ext">PNG</div><div class="desc">raster</div></div><div class="fmt"><div class="ext">JPEG</div><div class="desc">photos &amp; scans</div></div><!--]--></div><div class="integrations reveal"><!--[--><span class="on chip">DE</span><span class="on chip">EN</span><span class="chip">NL</span><span class="chip">FR</span><span class="chip">ES</span><span class="chip">IT</span><span class="chip">ISO</span><span class="chip">ASME / ANSI</span><!--]--></div></div></section><section class="section"><div class="wrap"><div class="section-head reveal" style="margin-bottom:8px"><div class="eyebrow mut"><span class="rule"></span>Developer-first</div><h2>From PDF to JSON in three lines.</h2></div><div class="api-split"><div class="reveal"><ul class="feat-list"><!--[--><li>REST API, webhooks &amp; an official Python client</li><li>Synchronous or async callbacks for batch archives</li><li>Every field carries confidence + source coordinates</li><li>Output in JSON, CSV, XML — or your custom schema</li><!--]--></ul><div style="margin-top:26px"><a href="/documentation" class="arrow-link">Read the developer docs <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.85" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></a></div></div><div class="code reveal"><div class="code-bar"><span class="dot" style="background:#e5402a"></span><span class="dot" style="background:#e0a800"></span><span class="dot" style="background:#138a5e"></span><span class="code-file">extract.py</span></div><div class="code-body"><div class="code-line"><span class="kw">from</span> werk24 <span class="kw">import</span> read_drawing_sync, AskFeatures</div><div class="code-line" style="margin-top:10px">resp = read_drawing_sync(open(<span class="s">"part.pdf"</span>, <span class="s">"rb"</span>),</div><div class="code-line">[AskFeatures()])</div><div class="code-line" style="margin-top:10px"><span class="kw">print</span>(resp.json()) <span class="cm"># → typed JSON, in seconds</span></div></div></div></div></div></section><section class="section alt" id="custom-output"><div class="wrap"><div class="section-head reveal"><div class="eyebrow mut"><span class="rule"></span>Beyond extraction</div><h2>Shaped to your workflow.</h2></div><div class="split2"><!--[--><div class="feature-block reveal"><div class="lab">Custom output</div><h3>Results in your format.</h3><p>No templates, no parsers. We match your ERP/PLM/MES schema and return data in your field names and structure — so it lands ready to use, not ready to map.</p></div><div class="feature-block reveal"><div class="lab">Sheet rebranding</div><h3>Anonymize &amp; restyle.</h3><p>Strip identifying marks and re-style incoming drawings to your own template — useful for RFQs, supplier sharing and archival standardization. Anonymizing is in the API; restyling to your template is on a contract.</p></div><!--]--></div></div></section><section class="cta-band navy dotgrid"><div class="wrap reveal"><h2>Send a PDF. Get structured JSON.</h2><p>Test Werk24 on your own drawing in 60 seconds — no integration required.</p><div class="hero-cta"><a class="btn btn-primary" href="https://studio.werk24.io/console/signup?product=console&amp;plan=payg#cta=product-register">Register for the API <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.85" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"></path></svg></a><a class="btn btn-secondary" href="https://studio.werk24.io/demo#cta=product-api-panel">Test it online</a><a href="/pricing" class="btn btn-onnavy">See pricing</a></div></div></section></main></div><footer class="wk wk-footer" data-v-ea361161=""><div class="wrap" data-v-ea361161=""><div class="foot-grid" data-v-ea361161=""><div data-v-ea361161=""><img class="foot-logo" src="/assets/logo-white.svg" alt="Werk24 AI-powered technical drawing analysis" width="120" height="21" loading="lazy" data-v-ea361161=""><p class="foot-blurb" data-v-ea361161="">Werk24 transforms technical drawings into structured, usable data - for RFQs, feasibility analyses and quality planning.</p><div class="foot-addr" data-v-ea361161=""><!--[--><!--[-->W24 Service GmbH<br data-v-ea361161=""><!--]--><!--[-->Therese-Studer-Straße 14<br data-v-ea361161=""><!--]--><!--[-->80797 Munich, Germany<!----><!--]--><!--]--><br data-v-ea361161=""><a href="mailto:[email protected]" data-v-ea361161="">[email protected]</a> · +49 89 68970246</div><div class="foot-social" data-v-ea361161=""><a href="https://www.linkedin.com/company/werk24/" target="_blank" rel="noopener" data-v-ea361161="">LinkedIn</a><a href="https://github.com/W24-Service-GmbH" target="_blank" rel="noopener" data-v-ea361161="">Github</a><a href="https://pypi.org/project/werk24/" target="_blank" rel="noopener" data-v-ea361161="">PyPi.org</a></div></div><div data-v-ea361161=""><h5 data-v-ea361161="">Products</h5><!--[--><a aria-current="page" href="/product" class="router-link-active router-link-exact-active" data-v-ea361161="">Werk24 API</a><a href="/studio" class="" data-v-ea361161="">Werk24 Studio</a><a href="/custom-solutions" class="" data-v-ea361161="">Custom Solutions</a><a aria-current="page" href="/product#supported-drawings" class="router-link-active router-link-exact-active" data-v-ea361161="">Supported drawings</a><a href="/pricing" class="" data-v-ea361161="">Pricing</a><!--]--></div><!--[--><div data-v-ea361161=""><h5 data-v-ea361161="">Resources</h5><!--[--><!--[--><a href="https://v2.docs.werk24.io" rel="noopener" target="_blank" data-v-ea361161="">Developer documentation</a>
25<!--]--><!--[--><a href="/knowledge-base" class="" data-v-ea361161="">Knowledge Base</a><!--]--><!--[--><a href="https://werk24.statuspage.io/" rel="noopener" target="_blank" data-v-ea361161="">System Status</a><!--]--><!--[--><a href="/blog" class="" data-v-ea361161="">Blog</a><!--]--><!--[--><a href="/feed.xml" rel="noopener" target="_blank" data-v-ea361161="">RSS Feed</a><!--]--><!--]--></div><div data-v-ea361161=""><h5 data-v-ea361161="">Company</h5><!--[--><!--[--><a href="/schedule-call" class="" data-v-ea361161="">Contact</a><!--]--><!--[--><a href="/press" class="" data-v-ea361161="">Press</a><!--]--><!--[--><a href="/careers" class="" data-v-ea361161="">Careers</a><!--]--><!--[--><a href="/privacy-policy" class="" data-v-ea361161="">Privacy Policy</a><!--]--><!--[--><a href="/gdpr" class="" data-v-ea361161="">GDPR</a><!--]--><!--[--><a href="/terms" class="" data-v-ea361161="">Terms and Conditions</a><!--]--><!--[--><a href="/imprint" class="" data-v-ea361161="">Imprint</a><!--]--><!--]--></div><!--]--></div><div class="foot-bottom" data-v-ea361161=""><span data-v-ea361161="">© Werk24 — All rights reserved.</span><span data-v-ea361161="">·</span><span data-v-ea361161="">Processed in the <strong>EU</strong> (Frankfurt); <strong>US</strong> with the residency add-on, on request • encrypted during transmission and storage</span><button class="foot-cookie" type="button" data-v-ea361161="">🍪 Cookie Settings</button><span class="classify" data-v-ea361161="">C1 — Public</span></div></div></footer><!----><!----></div></div><!-- Plausible Analytics.
26
27         Script variant: the plain script, NOT script.hash.js. The router runs in
28         history mode (ViteSSG default), so URLs are paths like /de/pricing and no
29         hashchange ever fires for a real navigation. The .hash variant therefore
30         missed every in-app navigation while counting in-page anchor clicks (the
31         page TOCs, FAQ permalinks and the skip link) as pageviews. The plain script
32         patches history.pushState instead, which is what vue-router actually calls.
33
34         We still avoid the outbound-links and file-downloads variants: those use
35         MutationObserver to scan every <a> element, which blocked Edge's main
36         thread during SPA navigation and triggered "page not responding" dialogs.
37         The plain script does no DOM scanning, so that fix stands.
38
39         Loaded at parse time rather than behind requestIdleCallback. The previous
40         5-10s delay meant any visitor who left sooner was never recorded at all,
41         and pushState was not patched until it ran, so early navigations were lost.
42         The script is small, deferred, and on a preconnected origin. -->
42<script>window.plausible=window.plausible||function(){(window.plausible.q=window.plausible.q||[]).push(arguments)}</script>
42<script defer="" data-domain="werk24.io" src="https://plausible.io/js/script.js"></script>
42</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.