Skip to content

Repository files navigation

sdocx

CI crates.io (sdocx) npm docs.rs Ask DeepWiki License

Convert Samsung Notes (.sdocx) files to SVG, PNG, or PDF with a Rust SDK, CLI, and WebAssembly bindings.

Try the browser app to preview, convert, and debug documents locally. Files are processed in your browser and are not uploaded.

Installation

cargo install sdocx-cli      # CLI
cargo add sdocx              # Rust library
npm install @twango/sdocx    # JavaScript / WASM

CLI

sdocx-cli note.sdocx                          # SVG (default)
sdocx-cli note.sdocx -o note.png
sdocx-cli note.sdocx -o note.pdf --pages "1-3, 5"
sdocx-cli note.sdocx -o note.pdf --font /path/to/Roboto-Regular.ttf

PDF combines selected pages into one file; SVG and PNG produce separate files per page. Use --help for all options.

--font adds fonts for SVG, PNG and PDF. SVG embeds the faces it uses; all formats share the bundled Roboto defaults.

Or run with Docker:

docker run --rm -v "$(pwd)":/data ghcr.io/twangodev/sdocx /data/note.sdocx

Rust

use sdocx::{layout_document, parse};

fn main() -> sdocx::Result<()> {
    let doc = parse("note.sdocx")?;
    let layout = layout_document(&doc);
    println!("{} visible page(s)", layout.pages.len());
    Ok(())
}

For PDF export, enable the pdf feature (Rust 1.92+) and use render_document_pdf. See the API docs.

JavaScript

import init, { parse } from "@twango/sdocx";

await init();
const doc = parse(new Uint8Array(await file.arrayBuffer()));
console.log(doc.pages);

Limitations

The format is reverse-engineered, and conversion is best-effort. Unsupported objects or styles may be omitted even when parsing succeeds. Keep original files and check output against Samsung Notes when fidelity matters. Protected documents must be unlocked or exported first.

Use the detailed Rust parse APIs or CLI diagnostics to inspect unsupported features. --verify-integrity adds stored-hash checks; it does not guarantee complete fidelity or fail conversion on mismatches.

Documentation

License

GPL-3.0

About

Reverse-engineered tooling and SDK for converting Samsung Notes (.sdocx) files.

Topics

Resources

Stars

26 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages