PageSourceSearch

https://grobid.org/

html grobid.org collected 2026-10-06 13:15:00 UTC 33,566 bytes, 511 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
7    <!-- Primary Meta Tags -->
8    <title>GROBID Tools: Free PDF Metadata, DOI &amp; Reference Extractor (In-Browser)</title>
9    <meta name="title" content="GROBID Tools: Free PDF Metadata, DOI &amp; Reference Extractor (In-Browser)">
10    <meta name="description" content="Free in-browser PDF extractor: title, authors, DOI, arXiv ID and references, exported as BibTeX, RIS or CSL-JSON. Files never leave your device.">
11    
12    <!-- Open Graph / Facebook -->
13    <meta property="og:type" content="website">
14    <meta property="og:url" content="https://grobid.org/">
15    <meta property="og:title" content="GROBID Tools: Free PDF Metadata, DOI &amp; Reference Extractor (In-Browser)">
16    <meta property="og:description" content="Free in-browser PDF extractor for title, authors, DOI, arXiv ID and references, with BibTeX, RIS and CSL-JSON export. Files never leave your device.">
17    <meta property="og:updated_time" content="2026-10-03">
18    <meta name="last-modified" content="2026-10-03">
19
20    <!-- Twitter -->
21    <meta property="twitter:card" content="summary">
22    <meta property="twitter:url" content="https://grobid.org/">
23    <meta property="twitter:title" content="GROBID Tools: Free PDF Metadata, DOI &amp; Reference Extractor (In-Browser)">
24    <meta property="twitter:description" content="Free in-browser PDF extractor for title, authors, DOI, arXiv ID and references, with BibTeX, RIS and CSL-JSON export. Files never leave your device.">
25
26    <!-- Favicon -->
27    <link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ctext y='.9em' font-size='90'%3E📄%3C/text%3E%3C/svg%3E">
28
29    <!-- Canonical URL -->
30    <link rel="canonical" href="https://grobid.org/">
31
32    <!-- Preconnect for performance -->
33    <link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin>
34
35    <!-- Manifest for PWA -->
36    <link rel="manifest" href="/manifest.json">
37    <meta name="theme-color" content="#2563eb">
38
39    <!-- Critical CSS - Inlined for performance -->
40    <style>
41        *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
42        :root{--primary:#2563eb;--primary-dark:#1e40af;--success:#10b981;--text:#1f2937;--text-light:#6b7280;--bg:#ffffff;--bg-secondary:#f9fafb;--border:#e5e7eb;--shadow:0 1px 3px rgba(0,0,0,.1)}
43        body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
44        .container{max-width:1200px;margin:0 auto;padding:1rem}
45        header{text-align:center;padding:3rem 1rem 2rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white;margin-bottom:3rem}
46        h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;line-height:1.2}
47        .subtitle{font-size:1.25rem;opacity:.95;font-weight:400}
48        .privacy-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.2);padding:.5rem 1rem;border-radius:2rem;margin-top:1rem;font-size:.9rem;backdrop-filter:blur(10px)}
49        .tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}
50        .tool-card{background:white;border:1px solid var(--border);border-radius:.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s}
51        .tool-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.1)}
52        .tool-icon{font-size:2rem;margin-bottom:.5rem}
53        .tool-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text)}
54        .tool-desc{color:var(--text-light);margin-bottom:1rem;font-size:.95rem}
55        .btn{display:inline-block;padding:.75rem 1.5rem;background:var(--primary);color:white;border:none;border-radius:.375rem;font-size:1rem;font-weight:500;cursor:pointer;text-decoration:none;transition:background .2s;text-align:center}
56        .btn:hover{background:var(--primary-dark)}
57        .btn-secondary{background:var(--bg-secondary);color:var(--text);border:1px solid var(--border)}
58        .btn-secondary:hover{background:#e5e7eb}
59        .upload-zone{border:2px dashed var(--border);border-radius:.5rem;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg-secondary);margin-bottom:2rem}
60        .upload-zone:hover,.upload-zone.dragover{border-color:var(--primary);background:#eff6ff}
61        .upload-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}
62        .hidden{display:none}
63        .results{background:white;border:1px solid var(--border);border-radius:.5rem;padding:1.5rem;margin-bottom:2rem}
64        .results h3{margin-bottom:1rem;color:var(--text)}
65        .metadata-grid{display:grid;gap:1rem}
66        .metadata-item{display:grid;grid-template-columns:150px 1fr;gap:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:.375rem}
67        .metadata-label{font-weight:600;color:var(--text)}
68        .metadata-value{color:var(--text-light);word-break:break-word}
69        .features{background:var(--bg-secondary);padding:3rem 1rem;margin:3rem -1rem}
70        .features h2{text-align:center;font-size:2rem;margin-bottom:2rem}
71        .feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1200px;margin:0 auto}
72        .feature-item{text-align:center}
73        .feature-icon{font-size:2.5rem;margin-bottom:1rem}
74        .feature-title{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}
75        .feature-desc{color:var(--text-light);font-size:.95rem}
76        .site-nav{background:#fff;border-bottom:1px solid var(--border);padding:.75rem 1rem;position:sticky;top:0;z-index:50}
77        .site-nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
78        .site-nav .brand{font-weight:700;color:var(--text);text-decoration:none;font-size:1.1rem}
79        .site-nav ul{list-style:none;display:flex;gap:1.25rem;flex-wrap:wrap}
80        .site-nav a{color:var(--text-light);text-decoration:none;font-size:.95rem}
81        .site-nav a:hover{color:var(--primary)}
82        footer{padding:2rem 1rem;color:var(--text-light);border-top:1px solid var(--border);margin-top:3rem}
83        .footer-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:.5rem;align-items:center;text-align:center}
84        .footer-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:center}
85        .footer-links a{color:var(--primary);text-decoration:none;font-size:.9rem}
86        .footer-links a:hover{text-decoration:underline}
87        .last-reviewed{font-size:.85rem;color:var(--text-light);text-align:center;margin:1rem 0}
88        .doc-page{max-width:760px;margin:2rem auto;padding:0 1rem;line-height:1.7}
89        .doc-page h1{font-size:2rem;margin-bottom:.5rem;color:var(--text)}
90        .doc-page h2{font-size:1.4rem;margin:2rem 0 .75rem;color:var(--text)}
91        .doc-page h3{font-size:1.1rem;margin:1.5rem 0 .5rem;color:var(--text)}
92        .doc-page p,.doc-page li{color:var(--text);margin-bottom:.75rem}
93        .doc-page ul,.doc-page ol{padding-left:1.5rem;margin-bottom:1rem}
94        .doc-page a{color:var(--primary)}
95        .doc-page .meta{color:var(--text-light);font-size:.9rem;margin-bottom:1.5rem}
96        .loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:white;animation:spin 1s linear infinite}
97        @keyframes spin{to{transform:rotate(360deg)}}
98        @media(max-width:768px){h1{font-size:2rem}.tools-grid{grid-template-columns:1fr}.metadata-item{grid-template-columns:1fr;gap:.5rem}}
99    </style>
100
101    <!-- Structured Data (JSON-LD) -->
102    
102<script type="application/ld+json">
103    {
104      "@context": "https://schema.org",
105      "@type": "WebApplication",
106      "name": "GROBID Tools",
107      "description": "Free in-browser PDF extractor for title, authors, DOI, arXiv ID and references, with BibTeX, RIS and CSL-JSON export. Independent site, not affiliated with the GROBID project.",
108      "url": "https://grobid.org/",
109      "applicationCategory": "UtilitiesApplication",
110      "operatingSystem": "Any (Browser-based)",
111      "offers": {
112        "@type": "Offer",
113        "price": "0",
114        "priceCurrency": "USD"
115      },
116      "featureList": [
117        "PDF metadata extraction",
118        "DOI extraction",
119        "Citation parsing",
120        "Bibliography extraction",
121        "BibTeX, RIS and CSL-JSON export",
122        "Client-side processing",
123        "Offline support",
124        "Privacy-focused"
125      ]
126    }
127    </script>
vendor: 1 bytes, line 127
127
128<script type="application/ld+json">
129{
130  "@context": "https://schema.org",
131  "@type": "FAQPage",
132  "mainEntity": [
133    {
134      "@type": "Question",
135      "name": "Is this the official GROBID website?",
136      "acceptedAnswer": {
137        "@type": "Answer",
138        "text": "No. GROBID Tools is an independent site. The GROBID library is an open-source project developed on GitHub at github.com/kermitt2/grobid, with documentation at grobid.readthedocs.io. This site offers a separate, lightweight in-browser extractor and guides about GROBID and bibliographic formats."
139      }
140    },
141    {
142      "@type": "Question",
143      "name": "Does the extractor upload my PDF?",
144      "acceptedAnswer": {
145        "@type": "Answer",
146        "text": "No. The PDF is opened with PDF.js inside your browser and the extracted data is generated locally. The site uses Google Analytics for page-level visit statistics, but file names, file contents and extracted text are never sent anywhere."
147      }
148    },
149    {
150      "@type": "Question",
151      "name": "Does this tool use the GROBID machine-learning models?",
152      "acceptedAnswer": {
153        "@type": "Answer",
154        "text": "No. It uses lightweight heuristics (layout, font size and regular expressions) that run in the browser. GROBID itself is a Java service with trained models and gives more accurate, more structured results on large collections. See the guide on running GROBID with Docker."
155      }
156    },
157    {
158      "@type": "Question",
159      "name": "Which export formats are available?",
160      "acceptedAnswer": {
161        "@type": "Answer",
162        "text": "JSON, plain text, Microsoft Word (.docx), Markdown, BibTeX (.bib), RIS (.ris) and CSL-JSON. Reference strings are exported as found in the PDF, with any DOI, year and URL detected in them, so check them before citing."
163      }
164    },
165    {
166      "@type": "Question",
167      "name": "Does it work with scanned PDFs?",
168      "acceptedAnswer": {
169        "@type": "Answer",
170        "text": "Only if the PDF already has a text layer. Image-only scans need OCR first; the tool warns you when it finds almost no text."
171      }
172    }
173  ]
174}
175</script>
175
176<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 176-177
176
177<script async src="https://www.googletagmanager.com/gtag/js?id=
177G-H1FWND0S6P
vendor: 12 bytes, line 177
177"></script>
178<script>
179  
vendor: 134 bytes, lines 179-183
179window.dataLayer = window.dataLayer || [];
180  function gtag(){dataLayer.push(arguments);}
181  gtag('js', new Date());
182
183  gtag('config', '
183G-H1FWND0S6P
vendor: 4 bytes, line 183
183');
184</script>
184</head>
185<body>
186    <!-- Site Navigation -->
187    <nav class="site-nav" aria-label="Primary">
188        <div class="site-nav-inner">
189            <a href="/" class="brand">📄 GROBID Tools</a>
190            <ul>
191                <li><a href="/">Extractor</a></li>
192                <li><a href="/guides/what-is-grobid">What is GROBID?</a></li>
193                <li><a href="/guides/">Guides</a></li>
194                <li><a href="/formats/">Formats</a></li>
195                <li><a href="/about">About</a></li>
196                <li><a href="/contact">Contact</a></li>
197            </ul>
198        </div>
199    </nav>
200
201    <!-- Header -->
202    <header>
203        <h1>GROBID Tools: PDF Metadata &amp; Reference Extractor</h1>
204        <p class="subtitle">Pull the title, authors, DOI, arXiv ID and reference list out of a PDF, right in your browser</p>
205        <div class="privacy-badge">
206            <span>🔒</span>
207            <span>Private by design: your PDF is never uploaded</span>
208        </div>
209    </header>
210
211    <!-- Main Content -->
212    <main class="container">
213        <p style="max-width:860px;margin:0 auto 2rem;padding:1rem 1.25rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;color:var(--text);font-size:.95rem;">
214            <strong>Looking for the GROBID library itself?</strong> This is an independent website and is not affiliated with the GROBID project. The open-source GROBID software lives at <a href="https://github.com/kermitt2/grobid" rel="noopener">github.com/kermitt2/grobid</a> with official documentation at <a href="https://grobid.readthedocs.io/" rel="noopener">grobid.readthedocs.io</a>. Our guides explain <a href="/guides/what-is-grobid">what GROBID is</a> and <a href="/guides/grobid-docker-and-api">how to run it with Docker and its REST API</a>.
215        </p>
216
217        <!-- PDF Upload Zone -->
218        <section id="upload-section">
219            <div class="upload-zone" id="dropZone" role="button" tabindex="0" aria-label="Choose a PDF file to analyse">
220                <div id="dropZoneContent">
221                    <div class="upload-icon">📄</div>
222                    <h2>Drop PDF Here or Click to Choose</h2>
223                    <p style="color: var(--text-light); margin-top: 0.5rem;">Processed locally in your browser. Maximum file size: 50MB</p>
224                </div>
225            </div>
226            <input type="file" id="fileInput" accept=".pdf,application/pdf" class="hidden">
227            <p style="text-align:center;color:var(--text-light);font-size:.9rem;margin:-1rem auto 2rem;max-width:760px;">💡 Best results with text-based (born-digital) PDFs. Scanned or image-only PDFs need <a href="/guides/scanned-pdf-and-ocr">OCR first</a>. This is a lightweight heuristic extractor; for large-scale, high-accuracy parsing see <a href="/guides/what-is-grobid">the open-source GROBID library</a>.</p>
228        </section>
229
230        <!-- Results Section (Hidden by default) -->
231        <section id="results-section" class="hidden">
232            <div class="results">
233                <h3>📊 Extracted Metadata</h3>
234                <div id="metadata-container" class="metadata-grid"></div>
235            </div>
236
237            <div class="results">
238                <h3>📚 Citations & References</h3>
239                <div id="citations-container"></div>
240            </div>
241
242            <div class="results">
243                <h3>💾 Export Options</h3>
244                <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin-bottom: 1rem;">
245                    <button class="btn" id="downloadJson">📊 JSON Data</button>
246                    <button class="btn" id="downloadText">📄 Plain Text (.txt)</button>
247                    <button class="btn" id="downloadDocx">📝 Word Document (.docx)</button>
248                    <button class="btn" id="downloadMarkdown">📋 Markdown (.md)</button>
249                    <button class="btn" id="downloadBibtex">📚 BibTeX (.bib)</button>
250                    <button class="btn" id="downloadRis">🗂️ RIS (.ris)</button>
251                    <button class="btn" id="downloadCslJson">🧾 CSL-JSON (.json)</button>
252                </div>
253                <div style="text-align: center;">
254                    <button class="btn btn-secondary" id="resetBtn">🔄 Process Another PDF</button>
255                </div>
256            </div>
257        </section>
258
259        <!-- What Gets Extracted -->
260        <section style="margin-bottom: 3rem;">
261            <h2 style="text-align: center; font-size: 1.75rem; margin-bottom: 2rem; color: var(--text);">What Gets Extracted Automatically</h2>
262            <div class="tools-grid">
263                <article class="tool-card">
264                    <div class="tool-icon">🔍</div>
265                    <h3 class="tool-title">Bibliographic Metadata</h3>
266                    <ul style="color: var(--text-light); font-size: .95rem; line-height: 1.8; list-style-position: inside;">
267                        <li>Document title</li>
268                        <li>Author names</li>
269                        <li>Publication year</li>
270                        <li>Abstract text</li>
271                        <li>Keywords</li>
272                        <li>Page count</li>
273                    </ul>
274                </article>
275
276                <article class="tool-card">
277                    <div class="tool-icon">🔗</div>
278                    <h3 class="tool-title">Identifiers & Links</h3>
279                    <ul style="color: var(--text-light); font-size: .95rem; line-height: 1.8; list-style-position: inside;">
280                        <li>DOI (Digital Object Identifier)</li>
281                        <li>URLs from references</li>
282                        <li>ISBN numbers</li>
283                        <li>arXiv IDs (old and new style)</li>
284                        <li>PubMed IDs</li>
285                    </ul>
286                </article>
287
288                <article class="tool-card">
289                    <div class="tool-icon">📚</div>
290                    <h3 class="tool-title">Citations & References</h3>
291                    <ul style="color: var(--text-light); font-size: .95rem; line-height: 1.8; list-style-position: inside;">
292                        <li>Full bibliography list</li>
293                        <li>Citation parsing</li>
294                        <li>Reference year detection</li>
295                        <li>
295DOI extraction per citation</li>
296                        <li>RIS, BibTeX and CSL-JSON export</li>
297                        <li>Raw text preservation</li>
298                    </ul>
299                </article>
300            </div>
301        </section>
302
303        <!-- Export Formats Section -->
304        <section style="margin-bottom: 3rem;">
305            <h2 style="text-align: center; font-size: 1.75rem; margin-bottom: 1rem; color: var(--text);">Multiple Export Formats</h2>
306            <p style="text-align: center; color: var(--text-light); margin-bottom: 2rem; max-width: 800px; margin-left: auto; margin-right: auto;">
307                Transform your PDF data into any format you need - all processed locally in your browser
308            </p>
309            <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; max-width: 900px; margin: 0 auto;">
310                <div style="text-align: center; padding: 1.5rem; background: var(--bg-secondary); border-radius: 0.5rem;">
311                    <div style="font-size: 2.5rem; margin-bottom: 0.5rem;">📊</div>
312                    <h3 style="font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem;">JSON</h3>
313                    <p style="font-size: 0.85rem; color: var(--text-light);">Structured data with all metadata & citations</p>
314                </div>
315                <div style="text-align: center; padding: 1.5rem; background: var(--bg-secondary); border-radius: 0.5rem;">
316                    <div style="font-size: 2.5rem; margin-bottom: 0.5rem;">📄</div>
317                    <h3 style="font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem;">Plain Text</h3>
318                    <p style="font-size: 0.85rem; color: var(--text-light);">Clean UTF-8 text file (.txt)</p>
319                </div>
320                <div style="text-align: center; padding: 1.5rem; background: var(--bg-secondary); border-radius: 0.5rem;">
321                    <div style="font-size: 2.5rem; margin-bottom: 0.5rem;">📝</div>
322                    <h3 style="font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem;">Word</h3>
323                    <p style="font-size: 0.85rem; color: var(--text-light);">Formatted DOCX document</p>
324                </div>
325                <div style="text-align: center; padding: 1.5rem; background: var(--bg-secondary); border-radius: 0.5rem;">
326                    <div style="font-size: 2.5rem; margin-bottom: 0.5rem;">📋</div>
327                    <h3 style="font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem;">Markdown</h3>
328                    <p style="font-size: 0.85rem; color: var(--text-light);">GitHub-flavored Markdown (.md)</p>
329                </div>
330                <div style="text-align: center; padding: 1.5rem; background: var(--bg-secondary); border-radius: 0.5rem;">
331                    <div style="font-size: 2.5rem; margin-bottom: 0.5rem;">📚</div>
332                    <h3 style="font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem;"><a href="/formats/bibtex" style="color:inherit">BibTeX</a></h3>
333                    <p style="font-size: 0.85rem; color: var(--text-light);">Citation format for LaTeX (.bib)</p>
334                </div>
335                <div style="text-align: center; padding: 1.5rem; background: var(--bg-secondary); border-radius: 0.5rem;">
336                    <div style="font-size: 2.5rem; margin-bottom: 0.5rem;">🗂️</div>
337                    <h3 style="font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem;"><a href="/formats/ris" style="color:inherit">RIS</a></h3>
338                    <p style="font-size: 0.85rem; color: var(--text-light);">For EndNote, Zotero, Mendeley (.ris)</p>
339                </div>
340                <div style="text-align: center; padding: 1.5rem; background: var(--bg-secondary); border-radius: 0.5rem;">
341                    <div style="font-size: 2.5rem; margin-bottom: 0.5rem;">🧾</div>
342                    <h3 style="font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem;"><a href="/formats/csl-json" style="color:inherit">CSL-JSON</a></h3>
343                    <p style="font-size: 0.85rem; color: var(--text-light);">For Pandoc and CSL processors</p>
344                </div>
345            </div>
346        </section>
347    </main>
348
349    <!-- Features Section -->
350    <section class="features">
351        <div class="container">
352            <h2>Why Choose Browser-First PDF Tools?</h2>
353            <div class="feature-grid">
354                <div class="feature-item">
355                    <div class="feature-icon">🔒</div>
356                    <h3 class="feature-title">100% Private</h3>
357                    <p class="feature-desc">Your PDFs never leave your computer. All processing happens locally in your browser.</p>
358                </div>
359
360                <div class="feature-item">
361                    <div class="feature-icon">⚡</div>
362                    <h3 class="feature-title">Lightning Fast</h3>
363                    <p class="feature-desc">No upload and no server queue. PDF.js parses the file in a web worker on your own machine.</p>
364                </div>
365
366                <div class="feature-item">
367                    <div class="feature-icon">📡</div>
368                    <h3 class="feature-title">Works Offline</h3>
369                    <p class="feature-desc">After the first visit the app shell and libraries are cached, so the extractor keeps working without a connection.</p>
370                </div>
371
372                <div class="feature-item">
373                    <div class="feature-icon">🆓</div>
374                    <h3 class="feature-title">Free to Use</h3>
375                    <p class="feature-desc">No sign-up, no API limits, no upload quotas. Built on the open-source PDF.js library.</p>
376                </div>
377            </div>
378        </div>
379    </section>
380
381    <!-- Learn More / Content Hub -->
382    <section class="container" style="margin-top:3rem;">
383        <h2 style="text-align:center;font-size:1.75rem;margin-bottom:.5rem;color:var(--text);">Learn more about PDF extraction</h2>
384        <p style="text-align:center;color:var(--text-light);margin:0 auto 2rem;max-width:720px;">Practical guides on how PDF metadata is structured, how citation parsers actually work, and how to turn extracted records into a clean bibliography.</p>
385        <div class="tools-grid">
386            <article class="tool-card">
387                <div class="tool-icon">🧭</div>
388                <h3 class="tool-title"><a href="/guides/pdf-metadata-extraction" style="color:inherit;text-decoration:none;">PDF metadata extraction</a></h3>
389                <p class="tool-desc">Where metadata lives inside a PDF, how heuristic extractors find titles and authors, and the failure modes worth knowing about.</p>
390            </article>
391            <article class="tool-card">
392                <div class="tool-icon">📚</div>
393                <h3 class="tool-title"><a href="/guides/citation-parsing" style="color:inherit;text-decoration:none;">Citation parsing</a></h3>
394                <p class="tool-desc">How a parser splits a references section, labels each field, and keeps its hands off the ambiguous bits.</p>
395            </article>
396            <article class="tool-card">
397                <div class="tool-icon">🔗</div>
398                <h3 class="tool-title"><a href="/guides/doi-and-identifiers" style="color:inherit;text-decoration:none;">DOIs and identifiers</a></h3>
399                <p class="tool-desc">The persistent identifiers that make a citation resolvable — DOI, ArXiv, PubMed, ORCID, ISBN, ISSN.</p>
400            </article>
401            <article class="tool-card">
402                <div class="tool-icon">🖨️</div>
403                <h3 class="tool-title"><a href="/guides/scanned-pdf-and-ocr" style="color:inherit;text-decoration:none;">Scanned PDFs and OCR</a></h3>
404                <p class="tool-desc">What to do when a PDF has no text layer: tools, accuracy expectations, and privacy considerations.</p>
405            </article>
406            <article class="tool-card">
407                <div class="tool-icon">🧩</div>
408                <h3 class="tool-title"><a href="/guides/client-side-pdf-processing" style="color:inherit;text-decoration:none;">Browser-side processing</a></h3>
409                <p class="tool-desc">The architectural choices behind a privacy-first PDF extractor, from PDF.js to service workers.</p>
410            </article>
411            <article class="tool-card">
412                <div class="tool-icon">🧠</div>
413                <h3 class="tool-title"><a href="/guides/what-is-grobid" style="color:inherit;text-decoration:none;">What is GROBID?</a></h3>
414                <p class="tool-desc">An independent overview of the open-source GROBID library: what it extracts, the TEI XML output, and where it is used.</p>
415            </article>
416            <article class="tool-card">
417                <div class="tool-icon">🐳</div>
418                <h3 class="tool-title"><a href="/guides/grobid-docker-and-api" style="color:inherit;text-decoration:none;">Run GROBID with Docker</a></h3>
419                <p class="tool-desc">Start a local GROBID server, call the REST API with curl, and batch-process PDFs with the Python client.</p>
420            </article>
421            <article class="tool-card">
422                <div class="tool-icon">⚖️</div>
423                <h3 class="tool-title"><a href="/guides/grobid-alternatives" style="color:inherit;text-decoration:none;">GROBID alternatives</a></h3>
424                <p class="tool-desc">CERMINE, AnyStyle, Nougat, Docling, Marker and browser tools compared for metadata and reference extraction.</p>
425            </article>
426            <article class="tool-card">
427                <div class="tool-icon">🆔</div>
428                <h3 class="tool-title"><a href="/guides/arxiv-identifiers" style="color:inherit;text-decoration:none;">arXiv identifiers</a></h3>
429                <p class="tool-desc">What an arXiv ID is, the old and new formats, versions, and how arXiv IDs relate to DOIs.<
429/p>
430            </article>
431            <article class="tool-card">
432                <div class="tool-icon">🔎</div>
433                <h3 class="tool-title"><a href="/guides/find-doi-of-a-pdf" style="color:inherit;text-decoration:none;">Find the DOI of a PDF</a></h3>
434                <p class="tool-desc">Where a DOI hides in a paper, and how to look one up from the title when the PDF does not print it.</p>
435            </article>
436            <article class="tool-card">
437                <div class="tool-icon">🔁</div>
438                <h3 class="tool-title"><a href="/formats/bibtex-vs-ris" style="color:inherit;text-decoration:none;">BibTeX vs RIS</a></h3>
439                <p class="tool-desc">The practical differences between .bib, .ris, EndNote XML and CSL-JSON, and which to export.</p>
440            </article>
441            <article class="tool-card">
442                <div class="tool-icon">🗂️</div>
443                <h3 class="tool-title"><a href="/formats/">Export formats</a></h3>
444                <p class="tool-desc">
444Reference pages for BibTeX, RIS, CSL-JSON, Markdown, and DOCX, with notes on when to pick each.</p>
445            </article>
446        </div>
447    </section>
448
449
450    <!-- FAQ -->
451    <section class="container" style="margin-top:3rem;max-width:860px;">
452        <h2 style="text-align:center;font-size:1.75rem;margin-bottom:1.5rem;color:var(--text);">Frequently asked questions</h2>
453        <details style="border:1px solid var(--border);border-radius:.5rem;padding:1rem 1.25rem;margin-bottom:.75rem;background:#fff;">
454            <summary style="font-weight:600;cursor:pointer;">Is this the official GROBID website?</summary>
455            <p style="margin-top:.75rem;color:var(--text-light);">No. GROBID Tools is an independent site. The GROBID library is an open-source project developed on GitHub at github.com/kermitt2/grobid, with documentation at grobid.readthedocs.io. This site offers a separate, lightweight in-browser extractor and guides about GROBID and bibliographic formats.</p>
456        </details>
457        <details style="border:1px solid var(--border);border-radius:.5rem;padding:1rem 1.25rem;margin-bottom:.75rem;background:#fff;">
458            <summary style="font-weight:600;cursor:pointer;">Does the extractor upload my PDF?</summary>
459            <p style="margin-top:.75rem;color:var(--text-light);">No. The PDF is opened with PDF.js inside your browser and the extracted data is generated locally. The site uses Google Analytics for page-level visit statistics, but file names, file contents and extracted text are never sent anywhere.</p>
460        </details>
461        <details style="border:1px solid var(--border);border-radius:.5rem;padding:1rem 1.25rem;margin-bottom:.75rem;background:#fff;">
462            <summary style="font-weight:600;cursor:pointer;">Does this tool use the GROBID machine-learning models?</summary>
463            <p style="margin-top:.75rem;color:var(--text-light);">No. It uses lightweight heuristics (layout, font size and regular expressions) that run in the browser. GROBID itself is a Java service with trained models and gives more accurate, more structured results on large collections. See the guide on running GROBID with Docker.</p>
464        </details>
465        <details style="border:1px solid var(--border);border-radius:.5rem;padding:1rem 1.25rem;margin-bottom:.75rem;background:#fff;">
466            <summary style="font-weight:600;cursor:pointer;">Which export formats are available?</summary>
467            <p style="margin-top:.75rem;color:var(--text-light);">JSON, plain text, Microsoft Word (.docx), Markdown, BibTeX (.bib), RIS (.ris) and CSL-JSON. Reference strings are exported as found in the PDF, with any DOI, year and URL detected in them, so check them before citing.</p>
468        </details>
469        <details style="border:1px solid var(--border);border-radius:.5rem;padding:1rem 1.25rem;margin-bottom:.75rem;background:#fff;">
470            <summary style="font-weight:600;cursor:pointer;">Does it work with scanned PDFs?</summary>
471            <p style="margin-top:.75rem;color:var(--text-light);">Only if the PDF already has a text layer. Image-only scans need OCR first; the tool warns you when it finds almost no text.</p>
472        </details>
473    </section>
474
475    <!-- Last reviewed -->
476    <p class="last-reviewed">Last reviewed on October 3, 2026</p>
477
478    <!-- Footer -->
479    <footer>
480        <div class="footer-inner">
481            <nav class="footer-links" aria-label="Site policies">
482                <a href="/about">About</a>
483                <a href="/contact">Contact</a>
484                <a href="/privacy">Privacy</a>
485                <a href="/terms">Terms</a>
486                <a href="/cookies">Cookies</a>
487                <a href="/disclaimer">Disclaimer</a>
488            </nav>
489            <p>&copy; 2026 GROBID Tools. Built with PDF.js running in your browser. Independent site, not the official GROBID project.</p>
490        </div>
491    </footer>
492
493    <!-- docx.js (UMD build) for Word export; PDF.js is imported by app.js -->
494    
494<script src="https://cdn.jsdelivr.net/npm/[email protected]/build/index.umd.js" defer></script>
494
495
496    <!-- Main Application Script -->
497    
497<script type="module" src="/js/app.js?v=2"></script>
497
498
499    <!-- Service Worker Registration -->
500    
500<script>
501        if ('serviceWorker' in navigator) {
502            window.addEventListener('load', () => {
503                navigator.serviceWorker.register('/sw.js')
504                    .then(reg => console.log('✓ Service Worker registered'))
505                    .catch(err => console.log('✗ Service Worker registration failed:', err));
506            });
507        }
508    </script>
vendor: 1 bytes, line 508
508
509<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"ff07b682413a49e1bea5aa049f7b54fc","r":1,"spa":2}' crossorigin="anonymous"></script>
509
510</body>
511</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.