# Docstring Extractor

Extract and parse documentation from JavaScript/TypeScript, Python, and Java source code

> Canonical page: https://elysiatools.com/en/tools/docstring-extractor

- **Category:** Development

- **Keywords:** documentation, docstring, jsdoc, javadoc, python, javascript, typescript, java, parser, comments

## Overview

## Features

Extract documentation from multiple programming languages:

- **JSDoc**: JavaScript and TypeScript documentation comments
- **Python Docstrings**: Triple-quoted function and class documentation
- **JavaDoc**: Java documentation comments with standard tags

## Extraction

Extracts complete documentation metadata:
- **Function/Class names**: Symbol identifiers
- **Descriptions**: Main documentation text
- **Parameters**: @param tags with names, types, and descriptions
- **Return values**: @return or @returns tags
- **Exceptions**: @throws, @exception, or raises sections
- **Examples**: @example tags or example code blocks
- **Line numbers**: Location in source code
- **Visibility**: Public, private, or protected members

## Parsing

Parses common documentation patterns:
- JSDoc: `/** ... */` with @param, @return, @throws
- Python: `"""..."""` with Args, Returns, Raises sections
- JavaDoc: `/** ... */` with @param, @return, @throws

## Index

Generates searchable documentation index:
- Symbol names for quick lookup
- Type categorization (functions, classes, methods)
- Documentation completeness metrics
- Examples, parameters, and return type counts

## Inputs

- **Source Code** (textarea): Paste your source code here to extract documentation...
- **Programming Language** (select)
- **Include Full Documentation Text** (checkbox): Include complete original documentation comments

## When to use

- When generating API documentation from source code comments.
- When auditing codebases to check for documentation completeness and consistency.
- When migrating or standardizing documentation across different programming languages.

## How it works

- Paste your source code into the input field or upload a file.
- Select the programming language manually or use auto-detect for mixed code.
- Optionally enable 'Include Full Documentation Text' to retain original comments.
- Click extract to parse the documentation and receive a JSON output with extracted metadata.

## Use cases

- Building interactive API documentation websites from extracted comments.
- Performing code reviews to ensure functions are properly documented with parameters and return types.
- Extracting documentation for use in IDEs or static analysis tools to improve developer productivity.

## Frequently asked questions

### What programming languages are supported?

JavaScript, TypeScript, Python, and Java.

### What types of documentation comments does it extract?

JSDoc for JavaScript/TypeScript, triple-quoted docstrings for Python, and JavaDoc for Java.

### Can it handle code with multiple languages?

Yes, use auto-detect or specify the language hint for accurate parsing.

### What information is included in the JSON output?

Function/class names, descriptions, parameters, return values, exceptions, examples, line numbers, and visibility.

### Is the output customizable?

You can choose to include the full original documentation text via a checkbox option.

## Related tools

- [Changelog Extractor](https://elysiatools.com/en/tools/changelog-extractor): Parse and extract structured data from changelogs and release notes in multiple formats
- [User Agent Parser](https://elysiatools.com/en/tools/new-user-agent-parser): Parse User Agent strings to extract browser, OS, device, and engine information
- [URL Parameter Extractor](https://elysiatools.com/en/tools/url-parameter-extractor): Extract and parse parameters from URLs including query strings, hash fragments, and path segments
- [User-Agent Parser](https://elysiatools.com/en/tools/user-agent-parser): Parse and analyze User-Agent strings to extract browser, operating system, device, and engine information
- [Bulk Email Extractor](https://elysiatools.com/en/tools/bulk-email-extractor): Extract all email addresses from input text, articles, web source code, or mixed content. Supports deduplication and export to JSON.
- [Date Extractor (日期提取器)](https://elysiatools.com/en/tools/date-extractor): Extract dates from text in multiple formats including Chinese, ISO, and US formats with detailed analysis and summary
- [JavaScript Deobfuscator](https://elysiatools.com/en/tools/javascript-deobfuscator): Deobfuscate and analyze obfuscated JavaScript code to improve readability and understanding
- [HTML Attribute Extractor](https://elysiatools.com/en/tools/html-attribute-extractor): Extract specified attributes (href, src, data-*, etc.) from HTML content with tag name filtering support

## Samples

- [Changelog Extractor Samples](https://elysiatools.com/en/samples/changelog-extractor): Various changelog formats for testing changelog parsing and extraction tools
- [Markdown Link Extractor Samples](https://elysiatools.com/en/samples/markdown-with-links): Sample Markdown documents with various link types for testing the Markdown Link Extractor tool
- [Phone Number Extractor Samples](https://elysiatools.com/en/samples/phone-number-extractor): Collection of mixed text containing phone numbers from various countries for extraction testing
- [Web Image Processing Python Samples](https://elysiatools.com/en/samples/web-image-processing-python): Web Python image processing examples using PIL/Pillow including reading, saving, resizing, and format conversion

## Related content

- [Documentation Authoring, Extraction, and Publishing Tools](https://elysiatools.com/en/hubs/documentation-authoring-publishing): Write docs, extract docs from code or PDFs, review Markdown, and export polished documentation in one docs workflow hub.
- [Text Case, Encoding, and Normalization Conversion Tools](https://elysiatools.com/en/hubs/text-convert): Compare text case conversion, character-width conversion, encoding conversion, quoted-printable handling, and inline text normalization tools in one hub.
- [Text Tools](https://elysiatools.com/en/hubs/text-utility): Explore 33 text tools for utility workflows and compare closely related utilities quickly.
- [Text Analysis, Readability, and Content Inspection Tools](https://elysiatools.com/en/hubs/text-analyze): Compare text statistics, language detection, readability scoring, sentiment analysis, moderation review, and pattern analysis tools in one hub.
