
Security News
Risky Biz Podcast: AI Agents Are Raising the Stakes for Software Supply Chain Security
Open source attacks are accelerating as AI coding agents pull in dependencies faster, with less human review.
Text-first UI design tool - Create wireframes and mockups using Markdown syntax
Text-first UI design tool - Create wireframes and mockups using Markdown syntax
wiremd is a markdown-based UI wireframing tool that lets you create wireframes and mockups using familiar markdown syntax with intuitive extensions. Write your UI designs as text, render them as beautiful wireframes.
Create a contact.md file:
## Contact Form
Name
[_____________________________]{required}
Email
[_____________________________]{type:email required}
Message
[_____________________________]{rows:5}
[Submit]* [Cancel]
Generate a wireframe:
wiremd contact.md --style sketch
This renders into a styled HTML wireframe with a form, inputs, and buttons.
Create a features.md file:
## Product Features {.grid-3}
### :rocket: Fast
Lightning quick performance
### :shield: Secure
Bank-level security
### :gear: Flexible
Fully customizable
Generate a wireframe:
wiremd features.md --style sketch
This creates a responsive 3-column grid layout with icons and descriptions.
.grid-N syntaxThis is an open-source MIT-licensed project containing:
src/ - Core parser and renderer librarytests/ - Comprehensive test suite (48 tests)docs/ - Documentation site (Live at akonan.github.io/wiremd)examples/ - Example wireframesfigma-plugin/ - Figma plugin for importing wiremd designsobsidian-plugin/ - Obsidian plugin for live wireframe previewsvscode-extension/ - VS Code extension with live preview and style switchingnpm install -g wiremd
yarn global add wiremd
pnpm add -g wiremd
brew install akonan/wiremd/wiremd
git clone https://github.com/akonan/wiremd.git
cd wiremd
npm install
npm run build
npm link
# Generate HTML with default sketch style
wiremd wireframe.md
# Output to specific file
wiremd wireframe.md -o output.html
# Use alternative styles
wiremd wireframe.md --style clean # Modern minimal
wiremd wireframe.md --style wireframe # Traditional grayscale
wiremd wireframe.md --style tailwind # Utility-first with purple accents
wiremd wireframe.md --style material # Google Material Design
wiremd wireframe.md --style brutal # Neo-brutalism style
wiremd wireframe.md --style none # Unstyled semantic HTML
# Watch mode with live-reload dev server
wiremd wireframe.md --watch --serve 3000
# Generate different output formats
wiremd wireframe.md --format json # JSON AST output
wiremd wireframe.md --format react # React/JSX component
wiremd wireframe.md --format tailwind # HTML with Tailwind CSS classes
wiremd designs can be imported into Figma as fully editable, native Figma designs using the wiremd Figma Plugin.
Generate JSON from your wiremd file:
wiremd your-mockup.md --format json -o mockup.json
Install the Figma Plugin:
Import to Figma:
Your wiremd design will appear as a new Figma page with:
✅ All layout components (containers, grids, navigation) ✅ Form elements (buttons, inputs, selects, checkboxes, radios) ✅ Content (headings, paragraphs, lists, tables, code blocks) ✅ Proper spacing, padding, and auto-layout constraints ✅ Theme-specific styling (colors, fonts, shadows)
See figma-plugin/README.md for complete documentation.
wiremd has a native Obsidian plugin that brings live wireframe previews directly into your notes.
Clone the plugin into your Obsidian vault's plugins folder:
cd /path/to/your/vault/.obsidian/plugins/
git clone https://github.com/akonan/wiremd-obsidian.git wiremd-preview
cd wiremd-preview
npm install
npm run build
Enable the plugin in Obsidian:
Create wiremd blocks in your notes:
```wiremd
## Login Form
Username
[____________________________]
Password
[****************************]
[Sign In]{.primary} [Cancel]
```
The plugin will automatically render a live preview with your chosen style!
See the wiremd-obsidian repository for complete documentation.
import { parse, renderToHTML, renderToJSON, renderToReact, renderToTailwind } from 'wiremd';
// Parse markdown to AST
const ast = parse(`
## Contact Form

Name
[_____________________________]
[Submit]{.primary}
`);
// Render to HTML with visual style
const html = renderToHTML(ast, { style: 'sketch' });
// Render to JSON
const json = renderToJSON(ast, { pretty: true });
// Render to React component (TypeScript)
const reactComponent = renderToReact(ast, {
typescript: true,
componentName: 'ContactForm'
});
// Render to HTML with Tailwind CSS classes
const tailwindHTML = renderToTailwind(ast, { pretty: true });
Not sure where to start? → Documentation Guide
| Document | Description | Best For |
|---|---|---|
| Syntax Showcase | Comprehensive interactive guide with live examples | Learning by example, copying patterns |
| Quick Reference | One-page syntax cheat sheet | Quick lookups, experienced users |
| Syntax Guide | User-friendly tutorial with best practices | Structured learning |
| FAQ | Common questions and troubleshooting | Solving problems, known issues |
📖 📚 View Full Documentation → - Complete documentation site with interactive examples
| Document | Description |
|---|---|
| 🌐 Live Documentation Site | Full docs with interactive examples |
| 🚀 Getting Started | Installation and first steps |
| 📝 Syntax Reference | Complete syntax guide |
| 🎮 Interactive Playground | Try wiremd in your browser |
| ⚙️ API Documentation | Programmatic API reference |
| 🔌 Framework Integrations | Next.js, React, Vite, Express |
| 🔧 Troubleshooting | Common issues and solutions |
| 🎨 Live Showcases | Examples in all 7 styles |
| 📂 Example Files | Local wiremd files to explore |
| Document | Description |
|---|---|
| Syntax Specification | Formal specification with parser rules |
| API Documentation (Local) | Local API reference |
| Project Plan | Development roadmap |
| CLAUDE.md | Project overview for AI assistants |
| Document | Description |
|---|---|
| CONTRIBUTING.md | Contribution guidelines |
| TESTING.md | Testing strategy and guidelines |
| CODE_OF_CONDUCT.md | Community guidelines |
| SECURITY.md | Security policy |
See Project Plan for full roadmap.
Contributions are welcome! Phase 1-2 are complete with a working parser, renderer, and CLI. Feel free to:
Please check the Project Plan for upcoming features.
# Clone the repository
git clone https://github.com/akonan/wiremd.git
cd wiremd
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Run type check
npm run typecheck
MIT License - See LICENSE for details.
Created by akonan
Inspired by:
Status: Phase 1-2 Complete (Core + CLI) | Version: 0.1.0 | Node: ≥18.0.0
Made with ❤️ for designers and developers who love plain text
FAQs
Text-first UI design tool - Create wireframes and mockups using Markdown syntax
The npm package wiremd receives a total of 1,648 weekly downloads. As such, wiremd popularity was classified as popular.
We found that wiremd demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Open source attacks are accelerating as AI coding agents pull in dependencies faster, with less human review.

Research
/Security News
Malicious Chrome and Firefox extensions posed as free VPNs while stealing clipboard data through later extension updates.

Research
/Security News
Miasma Mini Shai-Hulud hits @immobiliarelabs Backstage plugins, targeting GitLab and LDAP auth packages on npm.